Amazon Services China
亚马逊商城网络服务(亚马逊 MWS)文档
亚马逊 MWS 文档

限制:针对提交请求频率的限制

要想正常使用亚马逊商城网络服务 (亚马逊 MWS),就需要了解相关限制。限制是指对特定时间内提交的请求数量进行限制的过程。如果您要提交库存上传数据或下载订单报告,则为一个请求。限制功能可以避免网络服务遭受过量请求的不利影响,确保所有授权的开发者均可访问网络服务。

亚马逊MWS 采用若干种漏桶算法来衡量网络服务状态并执行相关限制。该算法的依据是漏桶假设,即漏桶中的水以一定的速率从桶底的小孔中漏出。可以间歇性地向桶中注水,但如果一次注水太多,或注水的频率过高,水就会溢出桶外。

要将这个假设应用于亚马逊MWS,设想漏桶的容积代表最大请求限额,即您每次可以提交的最大请求数量。桶底的小孔代表恢复速率,即提出新的请求前需要的恢复时间。因此,如果您一次提交了太多请求,漏桶中的水就会溢出,而在亚马逊MWS 中,就会触发限制。将漏桶注满后,在继续注水前还需要等一会儿,因为水从桶中漏出的速率是一定的。同理,达到最大请求限额后,再过多久才能提交更多请求则取决于恢复速率,即提出新的请求前需要等待的时间。

控制亚马逊MWS 限制功能的三个值定义如下:

  • 请求限额 - 每次允许提交而不会触发限制的请求数量。请求限额会随着提交请求的增加而减少,并以还原速率增加。请求将以每一个亚马逊卖家账号与亚马逊 MWS 开发者账号的配对做统计计算。
  • 还原速率(也称恢复速率)- 请求限额随着时间增加,直到达到最大请求限额的速率。
  • 最大请求限额(也称溢出速率)- 请求限额可以达到的最大数值。

要应用这些知识,请思考以下示例。设想您要使用 SubmitFeed 操作提交 25 个库存更新上传数据。SubmitFeed 操作的最大请求限额为 15,恢复速率为每 2 分钟 1 个请求。如果您要提交 25 个上传数据请求,而在达到 15 个请求之后,您的请求将被限制,其余 10 个上传数据请求则必须等到请求限额还原后再重新提交。由于还原速率是每两分钟一个请求,因此要过 20 分钟才能提交剩余的 10 个上传数据请求。因此,与其提交所有请求而触发限制,然后重新提交被限制的请求,不如设定流程自动化模式,递增式地提交上传数据请求。

例如,您可以提交 10 个上传数据请求(最初 25 个上传数据中的 10 个),这样请求限额还剩 5 个余额。然后,您可以等 10 分钟,此时还原速率已将请求限量增加为 10(每两分钟一个请求,10 分钟即增加了 5 个新请求限量)。这样,您就可以再提交 10 个上传数据请求了。至于剩余的 5 个上传数据请求,您可以再等十分钟再提交。如果一切顺利,您只需 20 分钟左右即可提交全部 25 个库存上传数据。

您应该考虑自动化提交请求,并做好应急准备,以应对达到最大请求限额而触发限制,或网络服务流量过高的情况,此时应减少提交请求的数量,并重新提交失败的请求。

怎样避免限制

掌握以下几点可以帮助您确保上传数据和提交的请求得到成功处理:

  • 了解所提交的特定请求有什么样的相关限制。
  • 制定应急方案,以便在服务不可用时自动减少请求数量。该方案应利用还原速率值来确定何时重新提交请求。
  • 避免在整点或半点时提交请求。例如,可以在整点后 11 分钟或 41 分钟提交请求。
  • 充分利用白天时间(如傍晚或早晨),此时亚马逊 MWS 的流量通常较低。