0

我正在尝试使用 MSGraph API 使用列表、子节点和权限端点为域同步 oneDrive 文件(元数据和权限)。我正在对子节点和权限端点使用批处理,在单个批处理请求中同时为 10 个用户发送 10-20 个请求 URL。

这样做我得到了很多 429 错误。不过,我在进行单个(非批处理)调用时也遇到了 429 个错误。

根据与节流相关的文档,他们要求 1. 减少每个请求的操作数 2. 减少调用频率。

所以,我的问题是

批量调用 10 个获取 url,算作 10 个不同的操作和 10 个不同的调用吗?

4

2 回答 2

0

批量调用 10 个获取 url,算作 10 个不同的操作和 10 个不同的调用吗?

通常,N 个 URL 将被视为 N+1 个操作(甚至更多)。来自批处理 URL 的 N 个操作和一个针对批处理 URL 本身的操作。

注意文档

JSON 批处理允许您通过将多个请求组合到单个 JSON 对象中来优化您的应用程序。

由于多个请求被合并为一个请求,服务器端也只需要发回一个响应。但是每个URL的底层操作还是需要处理的,所以服务器端的工作量还是很大的,可能会减少一点。

于 2018-10-16T03:03:59.077 回答
0

答案介于两者之间。

尽管文档(目前无法找到实际页面)说您最多可以合并20 个请求,但我通过实验发现限制当前设置为15。因此,如果您减少单个批次中的呼叫量,您应该很高兴。

我不确定,但它也可能有助于将批次限制为单个用户。

限制设置为每个用户资源每 10 分钟 10000 个项目,请参阅此博客项目

于 2018-10-17T15:42:51.597 回答