2016-03-10 37 views
6

我正在創建一個遊戲比較網站,並希望將亞馬遜價格包含在其中。我面臨的問題是使用他們的API來獲得我已有的25,000種產品的價格。我目前使用的ItemLookup從亞馬遜API和有工作來獲取價格,但是後約10結果亞馬遜API太快提交請求

我得到一個錯誤說「你太迅速提交請求。請以較慢的速度重試您的請求'。

減緩請求率的最佳方式是什麼?

感謝,

回答

7

如果您的應用程序試圖提交超出您帳戶的最大請求限制的請求,您可能會收到產品廣告API的錯誤消息。每個賬戶的請求限額是根據收入表現計算的。用於訪問產品廣告API的每個帳戶都允許每秒1次請求的初始使用限制。每個帳戶每30秒就會收到附加的每秒1次請求(最多10次),每3600美元的運輸項目收入(大約每分鐘0.11美元)。

Amazon API Docs

如果你只是打算一旦運行這個,後來乾脆睡請求之間的第二英寸

如果這是你要的更頻繁地運行計劃,它可能會是值得確保時間的長短需要查詢返回被拿掉,睡眠(所以,如果我的API更優化它查詢時間爲200ms回來,我們只能睡800毫秒)

0

由於它只是說,經過10個結果,你應該檢查你能有多少效果得到。如果它總是出現在10次快速請求後,您可以使用

wait(500) 

或更多毫秒。如果它只有10次後,你可以建立一個循環,每9次請求就做一次。

0

當你要求大量的重複。 然後你可以每天創建一個緩存清除上下文。 或聯繫AWS購買授權

0

我通過我就算把1秒或更長時間的延遲同樣的問題去了。

我相信當你開始只有一秒鐘的延遲,使太多的請求,亞馬遜不喜歡這一點,認爲你是垃圾郵件發送者。

你必須生成另一個密鑰對(並作出進一步的請求時使用),並把1.1秒的延遲,以便能夠再次做出快速的要求。

這對我有效。