Meu trabalho do AWS Batch falha e eu recebo o erro “Getting error Too Many Requests” (Excesso de solicitações).
Breve descrição
O AWS Batch limita todas as solicitações de API para contas da AWS com base na região da AWS da conta. Essa ação mantém um desempenho consistente e proporciona um uso justo para todos os clientes.
As cotas de API do AWS Batch normalmente se aplicam a todas as APIs, incluindo as chamadas de APIs DescribeJobs e SubmitJob.
Observação: O número máximo de transações por segundo (TPS) para cada conta para chamadas de API do AWS Batch, incluindo as operações SubmitJob é 50. Esse é um limite fixo.
Quando você atinge suas cotas de API do AWS Batch, o AWS Batch retorna a seguinte mensagem de erro:
“Getting error Too Many Requests (Service: AWSBatch; Status Code: 429; Error Code: TooManyRequestsException).”
Há dois motivos comuns pelos quais ocorrem erros Getting error Too Many Requests:
- Você envia vários trabalhos ao mesmo tempo de forma programática, por meio da AWS Command Line Interface (CLI) ou dos SDKs da AWS.
- Você usa o AWS Lambda para enviar vários trabalhos.
Observação: As cotas de API são aplicáveis somente a endpoints da AWS. Essas cotas não se aplicam à sua conta.
A AWS garante que todas as chamadas para todas as APIs da Amazon não excedam a taxa máxima permitida de solicitações de API. A taxa máxima de solicitação de API pode variar entre as regiões
Resolução
Use novas tentativas e um algoritmo de recuo exponencial com instabilidade e, em seguida, reenvie seu trabalho
Para obter mais informações, consulte Atraso e instabilidade exponenciais.
Usar trabalhos de matriz do AWS Batch para enviar vários trabalhos com uma única chamada à API SubmitJob
Para obter mais informações, consulte Trabalhos de matriz e SubmitJob.
Observação: Trabalhos de matriz do AWS Batch permitem que você envie até 10.000 cópias de um trabalho por uma chamada de API.