Il mio processo Batch AWS non riesce e ricevo un errore "Getting error Too Many Requests".
Breve descrizione
Batch AWS limita tutte le richieste API per gli account AWS in base alla regione AWS dell'account. Questa azione mantiene prestazioni costanti e garantisce un utilizzo corretto per tutti i clienti.
Le quote API di Batch AWS si applicano in genere a tutte le API, comprese le chiamate API DescribeJobs e SubmitJob.
Nota: il numero massimo di transazioni al secondo (TPS) per ogni account per le chiamate API di Batch AWS, incluse le operazioni SubmitJob, è 50. Si tratta di un limite fisso.
Quando raggiungi le quote API di Batch AWS, Batch AWS restituisce il messaggio di errore seguente:
"Getting error Too Many Requests (Service: AWSBatch; Status Code: 429; Error Code: TooManyRequestsException)."
Esistono due motivi comuni per cui si verifica l'errore Getting error Too Many Requests:
- Invii più processi contemporaneamente a livello di programmazione, utilizzando l'interfaccia a riga di comando (CLI) di AWS o gli SDK AWS.
- Usi AWS Lambda per inviare più processi.
Nota: le quote API si applicano solo agli endpoint AWS. Queste quote non si applicano al tuo account.
AWS si assicura che tutte le chiamate a tutte le API di Amazon non superino la frequenza massima consentita per le richieste API. La frequenza massima di richieste API può variare a seconda delle regioni.
Risoluzione
Usa nuovi tentativi e un algoritmo di backoff esponenziale con jitter, quindi invia nuovamente il processo
Per ulteriori informazioni, consulta Exponential backoff and jitter.
Usa i processi array di Batch AWS per inviare più processi con una singola chiamata API SubmitJob
Per ulteriori informazioni, consulta Array jobs e SubmitJob.
Nota: i processi array di Batch AWS consentono di inviare fino a 10.000 copie di un processo con una chiamata API.