2017-03-07 53 views
1

我正在使用AWS API調用AWS Step Functions。但是,您可以調用的函數數量有限制。如何在調用AWS API時防止API調節?

按照AWS步驟功能限制,some Step Functions API actions are throttled using a token bucket scheme to maintain service bandwidth.

例如,StartExecution()具有100桶大小和2 /秒的再填充速率。

那麼,有沒有辦法監視存儲桶中的可用插槽?

我看了一下AWS python API,它叫做boto3,似乎沒有辦法獲得這個信息。但我不確定。

過量通話會發生什麼,他們排隊?或只是丟棄?

回答

1

他們被拒絕並出現錯誤。由於這是一種保護性控制措施,因此排隊無效,只是丟棄過多的請求並不是一種合理的設計實踐。

節流

請求被由於請求限制拒絕。

HTTP狀態代碼:400

http://docs.aws.amazon.com/step-functions/latest/apireference/CommonErrors.html

你應該能夠簡單地睡覺,重試錯誤,與指數退避。這是最簡單的形式,這意味着你睡1秒後重試,然後是2,然後是4,然後是8等。更好的是,爲每個增量添加一個附加的隨機間隔,所以睡1+ rand(1)然後2 + rand (1)或沿着這些線的一些變化。

+0

再次感謝邁克爾! – XY6