【问题标题】:Amazon API submitting requests too quicklyAmazon API 提交请求太快
【发布时间】:2016-03-10 08:44:06
【问题描述】:

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

我目前正在使用来自 Amazons API 的 ItemLookup 并使其能够检索价格,但是在大约 10 个结果之后,我收到一条错误消息,提示“您提交请求的速度太快了。请以较慢的速度重试您的请求。

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

谢谢,

【问题讨论】:

    标签: amazon-product-api


    【解决方案1】:

    如果您的应用程序尝试提交超出您帐户最大请求限制的请求,您可能会收到来自 Product Advertising API 的错误消息。每个帐户的请求限制是根据收入绩效计算的。用于访问产品广告 API 的每个帐户的初始使用限制为每秒 1 个请求。在过去的 30 天内(约每分钟 0.11 美元),对于每 4,600 美元的已发货商品收入,每个帐户每秒将额外收到 1 个请求(最多 10 个)。

    来自Amazon API Docs

    如果您只打算运行一次,那么只需在请求之间休眠一秒钟即可。

    如果这是您计划更频繁地运行的东西,则可能值得通过确保查询返回所需的时间长度不再休眠(因此,如果我的 API 查询需要200ms才能回来,我们只睡800ms)

    【讨论】:

      【解决方案2】:

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

       wait(500)
      

      或更多毫秒。如果仅在 10 次之后,您可以构建一个循环并每 9 个请求执行一次。

      【讨论】:

        【解决方案3】:

        当你的请求大量重复时。 然后你可以创建一个缓存,每天清除上下文。 或联系 aws 购买授权

        【讨论】:

          【解决方案4】:

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

          我相信,当您在延迟一秒的情况下开始发出过多请求时,亚马逊不喜欢这样,并认为您是垃圾邮件发送者。

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

          这对我有用。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2021-06-26
            • 2016-12-27
            • 1970-01-01
            • 2018-11-26
            • 1970-01-01
            相关资源
            最近更新 更多