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

1 分的閱讀內容
0

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

簡短說明

AWS Batch 會根據帳戶的 AWS 區域來調節 AWS 帳戶的所有 API 請求。這樣可確保 AWS Batch 為所有客戶維持一致的效能和公平的使用情況。AWS Batch API 額度通常適用於每個 API,包括 DescribeJobsSubmitJob 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 請求,藉此防止個別帳戶因太多請求而湧入服務端點。
  • AWS 會確保所有 Amazon API 的所有呼叫都不會超過允許的 API 請求率上限。最高 API 請求率會因區域而異。

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

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

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

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

**注意:**AWS Batch 陣列任務可讓您提交最多 10,000 份任務副本。

調節 API 流量額度

您可以要求提高 AWS 帳戶的 API 限流額度。若要申請調整額度,請聯絡 AWS 支援中心

AWS 官方
AWS 官方已更新 1 年前