powerbi 自定义查询的 GitHub 速率限制的解决方法

问题描述 投票:0回答:1

我是一名 powerbi 开发人员。我的公司名下有很多组织,每个组织都有很多仓库(大约 300 多个)。

我能够在 power query powerbi 中写入 4 个表 表 1. 获取所有组织和存储库名称。

我将使用表 1 作为我的下 3 个表的参考,这样我就不会两次调用相同的代码来获取存储库。

表 2. 获取每个存储库的所有状态的问题。 表 3. 获取每个存储库的所有状态的拉取。 表 4. 获取每个存储库的提交。

但是,数据永远无法完全加载,因为我总是达到每小时 5000 的速率限制,即使我只从 2 个月前开始限制数据。

有解决方法吗?我并没有滥用 Api 进行网络抢夺,我想分析我们开发人员的表现。也许是一个自定义连接器,一种不同的方法。我更喜欢让事情保持免费

我尝试限制日期,我尝试阅读 GraphQL,但我不知道如何将其转换为 powerquery,而且我不是计算机科学专家。我只知道 python 和 m query 作为编程语言。

github powerbi powerquery github-api
1个回答
0
投票

没有办法绕过 API 速率限制,因为如果有的话,人们就会使用它。与其他所有主要网站一样,GitHub 也有 API 速率限制,以防止过度使用而导致中断。

我不熟悉 PowerBI 及其存储数据的方式,但您需要在多个小时内完成这些操作,因为您需要大量数据。您可以首先请求组织和存储库名称并存储它们。如果您需要更新它们(或其他数据),使用条件请求,这将帮助您轻松确定是否发生任何更改,而无需使用大量请求。

一旦拥有存储库,您就可以获取问题和拉取请求,但您可能应该决定为什么需要所有这些数据。也许您只需要其中的一些,并且可以使用需要较少请求的适当 API 端点来请求某些。同样,如果您需要刷新此数据,条件请求是您的朋友。

一般来说,要求一个相当活跃的仓库的所有提交是一个坏主意,因为会有很多。 git/git 存储库比许多公司存储库都要小,有超过 73,000 次提交,通过 API 以任何有意义的方式抓取所有这些内容根本不切实际。如果您“确实”需要来自提交的信息,请克隆存储库并以这种方式提取信息,这将比通过 API 查询更快、更高效。如果您只需要来自一定数量的提交的信息,您可以使用浅克隆,只要您不提取它,它就会便宜得多。 在每个阶段,您都需要保存所获得的数据,遵守速率限制,并且不要丢弃该数据,否则您将永远无法获取所有数据。

© www.soinside.com 2019 - 2024. All rights reserved.