当前位置: 首页 > 知识库问答 >
问题:

Azure-devops rest api-分页和速率限制

孔睿
2023-03-14

我正在尝试提取Azure-Devops实体数据(团队、项目、存储库、成员等)并且在本地处理数据,我找不到任何关于速率限制和分页的文档,有人有这方面的经验吗?

有一些关于成员API的分页文档:
https://docs.microsoft.com/en-us/rest/api/azure/devops/memberentitlementmanagement/members/get?view=azure-devops-rest-6.0

但这是唯一的一个,我找不到任何git实体的文档,
例如:Repositories。
https://docs.microsoft.com/en-us/rest/api/azure/devops/git/repositories/list?view=azure-devops-rest-6.0

如果有人能给我指出正确的文档,或者提供一些关于这些主题的信息,那就太好了。

多谢了。

共有1个答案

东方方伟
2023-03-14

我找不到任何关于速率限制和分页的文档,有没有人有这方面的经验?

有一份关于服务限额和费率限额的文件,介绍了所有项目和组织都要遵守的服务限额和费率限额。

对于速率限制:

与许多软件即服务解决方案一样,Azure DevOps服务使用多租户来降低成本并增强可伸缩性和性能。这使得用户容易受到性能问题的影响,甚至在共享资源的其他用户消耗激增时出现中断。为了解决这些问题,Azure DevOps服务限制了个人可以消耗的资源以及他们可以向某些命令发出的请求数。当超过这些限制时,可能会延迟或阻止后续请求。

有关详细信息,请参阅费率限制文档

对于分页,通常,REST API将具有分页响应,而ADO REST API通常在每个响应中的每页限制为100/200(取决于哪个API)。检索下一页信息的方法是引用响应头x-ms-continuationtoken,并将其用于下一个请求参数continuationtoken

但Microsoft并没有很好地记录这一点--这一点应该在每个支持延续令牌的API调用中都有提及:

生成列表:

GET https://dev.azure.com/{organization}/{project}/_apis/build/builds?definitions={definitions}&continuationToken={continuationToken}&maxBuildsPerDefinition={maxBuildsPerDefinition}&deletedFilter={deletedFilter}&queryOrder={queryOrder}&branchName={branchName}&buildIds={buildIds}&repositoryId={repositoryId}&repositoryType={repositoryType}&api-version=5.1

如果我使用上面带有$top=50的REST API,正如预期的那样,我返回了50和一个名为“x-ms-continuationtoken”的头,那么我们可以使用continuationtoken循环输出结果:

您可以查看这个类似的线程获得更多的细节。

 类似资料:
  • 速率限制配置参考 filter.http.RateLimit filter.http.RateLimit proto { "domain": "...", "stage": "...", "request_type": "...", "timeout": "{...}" } domain (string, REQUIRED) 需要调用速率限制服务时的域。 stage (uint3

  • 速率限制配置参考。 filter.network.RateLimit filter.network.RateLimit proto { "stat_prefix": "...", "domain": "...", "descriptors": [], "timeout": "{...}" } stat_prefix (string, REQUIRED) 发布统计信息时使用的前缀。

  • 速率限制配置概述。 { "name": "rate_limit", "config": { "domain": "...", "stage": "...", "request_type": "...", "timeout_ms": "..." } } domain (required, string) 调用速率限制服务时使用的域。 stage (opt

  • 速率限制配置参考。 { "name": "ratelimit", "config": { "stat_prefix": "...", "domain": "...", "descriptors": [], "timeout_ms": "..." } } stat_prefix (required, string) 发布统计信息时使用的前缀。 domai

  • 速率限制架构概述 v1 API 参考 v2 API 参考 当请求的路由或虚拟主机有一个或多个符合过滤器设置的速率限制配置时,HTTP速率限制过滤器将调用速率限制服务。路由可以选择包含虚拟主机速率限制配置。可配置多个应用于请求。每个配置描述符都会导致被发送到速率限制服务。 如果速率限制服务被调用,并且任何响应超出限制的描述符,都将返回429响应。 组成操作 注意:本文是为v1 API编写的,但这些概

  • 全局限速架构概述 v1 API 参考 v2 API 参考 统计 每个配置的速率限制过滤器的统计信息均以ratelimit.<stat_prefix>.为前缀。统计如下: 名称 类型 描述 total Counter 请求限速服务的总数 error Counter 限速服务请求失败的总数 over_limit Counter 限速服务的响应上限 ok Counter 限速服务的响应下限 cx_clo