如何解决在提交 AWS Batch 作业时遇到的“出现‘请求过多’错误”的错误?

1 分钟阅读
0

我的 AWS Batch 作业失败,并且我收到“出现‘请求过多’错误”的错误。

简短描述

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;状态代码: 429;错误代码: TooManyRequestsException)."

以下两个常见原因会导致 Getting error Too Many Requests(出现“请求过多”错误)的错误:

  • 通过 AWS 命令行界面 (CLI) 或 AWS SDK 以编程方式同时提交多个作业。
  • 使用 AWS Lambda 提交多个作业。

**注意:**API 配额仅适用于 AWS 端点。这些配额不适用于您的账户。

AWS 确保对所有 Amazon API 的所有调用均不超过允许的最大 API 请求速率。最大 API 请求速率可能因区域而异

解决方法

使用重试和带抖动的指数回退算法,然后重新提交作业

有关更多信息,请参阅指数回退和抖动

使用 AWS Batch 阵列作业通过一次 SubmitJob API 调用提交多个作业

有关更多信息,请参阅阵列作业SubmitJob

**注意:**AWS Batch 阵列作业允许您通过一次 API 调用最多提交 10,000 份作业。

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