Amazon API提交请求的速度太快

时间:2016-03-10 08:44:06

标签: amazon-product-api

我正在创建一个游戏比较网站,并希望将亚马逊价格纳入其中。我面临的问题是使用他们的API来获得我已经拥有的25,000种产品的价格。

我目前正在使用Amazons API中的ItemLookup并让它检索价格,但是在大约10个结果后,我收到一条错误说“你提交的请求太快了”。请以较慢的速度重试您的请求。

降低请求率的最佳方法是什么?

谢谢,

4 个答案:

答案 0 :(得分:11)

  

如果您的应用尝试提交超过帐户最高请求限制的请求,您可能会收到来自Product Advertising API的错误消息。每个帐户的请求限制是根据收入效果计算的。用于访问Product Advertising API的每个帐户都允许初始使用限制为每秒1个请求。在过去的30天期间(每分钟约0.11美元),每运行4,600美元的运费项目收入,每个帐户每秒将收到额外的1个请求(最多10个)。

来自Amazon API Docs

如果您只计划运行一次,那么只需在请求之间暂停一下。

如果这是您计划更频繁地运行的事情,那么通过确保查询返回所花费的时间长度从睡眠中消失(因此,如果我的API查询需要200ms才能返回,我们只能睡800ms)

答案 1 :(得分:0)

因为它只表示在10个结果之后你应该检查你可以获得多少结果。如果它总是出现在10个快速请求之后,您可以使用

 wait(500)

或更多ms。如果仅在10次之后,你可以建立一个循环并按照第9个请求执行此操作。

答案 2 :(得分:0)

当你的要求很多重复。 然后你可以每天创建一个缓存清晰的上下文。 或联系aws购买授权

答案 3 :(得分:0)

即使我延迟了1秒或更长时间,我也遇到了同样的问题。

我相信当你开始提出太多的请求只有一秒延迟时,亚马逊并不喜欢这样,并认为你是垃圾邮件发送者。

您必须生成另一个密钥对(并在进一步请求时使用它)并延迟1.1秒以便能够再次发出快速请求。

这对我有用。