如何解決提交 AWS Batch 任務時出現的「Getting error Too Many Requests」(出現錯誤:「請求次數太多」) 錯誤?

1 分的閱讀內容
0

我的 AWS Batch 任務失敗,並且收到「Getting error Too Many Requests」(出現錯誤:「請求次數太多」) 錯誤訊息。

簡短說明

AWS Batch 會根據帳戶的 AWS 區域來調節 AWS 帳戶的所有 API 請求。此動作可維持一致的效能,並為所有客戶提供公平的使用情況。

AWS Batch API 額度通常適用於每個 API,包括 DescribeJobsSubmitJob API 呼叫。

注意: AWS Batch API 呼叫 包含SubmitJob 作業在內,每個帳戶每秒的最大交易數 (TPS) 為 50。這是一個固定的限制。

當您達到 AWS Batch API 額度時,AWS Batch 會傳回下列錯誤訊息:
「Getting error Too Many Requests (Service: AWSBatch; Status Code: 429; Error Code: TooManyRequestsException).」(出現錯誤:「請求次數太多」(服務:AWSBatch;狀態代碼:429;錯誤代碼:TooManyRequestsException))

發生 Getting error Too Many Requests (出現錯誤:「請求次數太多」) 錯誤有兩個常見原因:

  • 透過 AWS Command Line Interface (CLI) 或 AWS SDK,使用程式設計的方式同時提交多個任務。
  • 您使用 AWS Lambda 提交多個任務。

注意: API 額度僅適用於 AWS 端點。這些額度不適用於您的帳戶。

AWS 會確保所有 Amazon API 的所有呼叫都不會超過允許的 API 請求率上限。API 請求率上限可能會因區域而有所不同

解決方法

使用重試次數並搭配使用抖動的指數退避演算法,然後重新提交您的工作

如需詳細資訊,請參閱指數輪詢和抖動

使用 AWS Batch 陣列任務透過單一提交任務 API 呼叫提交多個任務

如需詳細資訊,請參閱陣列工作提交工作

注意: AWS Batch 陣列任務可讓您在一個 API 呼叫中提交最多 10,000 份任務副本。

AWS 官方
AWS 官方已更新 3 個月前