【发布时间】:2016-02-18 20:21:25
【问题描述】:
我不了解 mws 节流。 以这个 api 为例:
http://docs.developer.amazonservices.com/en_US/products/Products_GetMatchingProductForId.html
最大请求配额是 20。所以我知道我可以在每个请求上提交 20 个不同的 id。但在表格中写着“最大值:五个 Id 值”。 那么20代表什么?
【问题讨论】:
标签: amazon-mws
我不了解 mws 节流。 以这个 api 为例:
http://docs.developer.amazonservices.com/en_US/products/Products_GetMatchingProductForId.html
最大请求配额是 20。所以我知道我可以在每个请求上提交 20 个不同的 id。但在表格中写着“最大值:五个 Id 值”。 那么20代表什么?
【问题讨论】:
标签: amazon-mws
20 表示您一次可以发出的最大请求数。每个请求在 IdList 中最多可以有 5 个 Id 值。因此,基本上您可以一次提交 100 (20 * 5) 个产品 ID 的请求。然后你必须等到配额恢复,也就是每秒 5 个。您还受到每小时请求配额的限制,在本例中为每小时 18,000 个请求。
做一些数学计算,计算出您需要发出多少个请求并将它们分开,以便有足够的时间进行恢复。
【讨论】:
Amazon 限制通常有 2 或 3 个组件。
他们使用修改后的漏桶算法。配额是您在给定时刻可以提交的单独请求的数量,假设您尚未消费任何请求。这是桶能装多少。
对于您提交的每个请求,存储桶“泄漏”一个单元。
恢复率,是桶重新装满的速度。
对于您链接的 API 调用,假设 1 秒内可以发送多少个请求?如果我的数学是正确的(给或取 1),您应该能够在第一秒发出 25 个请求,因为您耗尽了存储桶,但在第一秒,它还会重新填充 5 个请求。
请记住,亚马逊在许多 API 调用中为您设置了每小时/每日上限。
编辑
请记住,您可以提出多少请求,而不是每个请求中可以提交多少 ID、报告等。
【讨论】: