由于 Drive Label API 是一项共享服务,我们对 确保所有用户都能公平使用它,并保护 Google Workspace 生态系统。
如果超过配额,您通常会收到 429: Too many
requests
HTTP 状态代码响应。如果发生这种情况,您应该使用
指数退避算法,然后重试。
只要您不超出下面的每分钟配额,
每日可发出的请求数
下表详细说明了请求限制:
配额 | |||
---|---|---|---|
读请求次数 |
|
||
写请求次数 |
|
解决基于时间的配额错误
对于所有基于时间的错误(每 X 分钟最多 N 次请求),我们建议 代码会捕获异常并使用截断的指数退避算法来确保 设备不会产生过多的负载。
指数退避算法是网络应用的标准错误处理策略。一个 指数退避算法使用呈指数增加的等待时间重试请求 最长退避时间。如果请求仍未成功 需要注意的是,请求之间的延迟时间会随着时间的推移不断增加,直到请求成功为止。
示例算法
指数退避算法以指数方式重试请求,增加了等待时间 直至达到最长退避时间。例如:
- 向 Drive Label API 发出请求。
- 如果请求失败,等待 1 +
random_number_milliseconds
,然后重试 请求。 - 如果请求失败,等待 2 +
random_number_milliseconds
,然后重试 请求。 - 如果请求失败,等待 4 +
random_number_milliseconds
,然后重试 请求。 - 依此类推,等待时间上限为
maximum_backoff
。 - 继续等待并重试,直至达到重试次数上限,但不增加等待时间 两次重试之间的间隔时间。
其中:
- 等待时间为
min(((2^n)+random_number_milliseconds), maximum_backoff)
。 每次迭代(请求)时,n
递增 1。 random_number_milliseconds
是一个小于 或 的随机毫秒数 等于 1,000。这有助于避免出现许多客户端 都会同时重试,同时发送请求 波次。每次更新后,系统会重新计算random_number_milliseconds
的值 重试请求。maximum_backoff
通常为 32 或 64 秒。适当的值 具体取决于应用场景
在达到 maximum_backoff
次数后,客户端可以继续重试。
此后执行的重试不需要继续增加退避时间。对于
例如,如果客户端使用的 maximum_backoff
时间为 64 秒,那么在达到
则客户端可以每 64 秒重试一次。在某个时间点
应防止客户端无限期重试。
重试之间的等待时间和重试次数取决于您的使用场景 和网络状况
价格
云端硬盘标签 API 的所有使用均无需额外付费。超出配额 请求限制不会产生额外费用,也不会对您的账号收取费用。
申请增加配额
根据您的项目的资源用量,您可能需要申请配额 增加。由服务账号进行的 API 调用会被视为使用 一个账号。我们无法保证您的增加配额请求一定会得到批准。大 增加配额可能需要更长时间才能获得批准。
并非所有项目的配额都完全相同。随着您越来越多地使用 Google Cloud, 您的配额可能需要增加。如果您预计 您可以主动 申请配额调整 在“配额”页面中 Google Cloud 控制台中。
如需了解详情,请参阅以下资源: