Ho ricevuto gli errori "429 Troppe richieste" o "Limite superato" durante l'invio di richieste alla mia Gateway Amazon API. Come posso risolvere questi errori?
Breve descrizione
API Gateway ha quote a livello di account per regione. La quota di limitazione è di 10.000 richieste al secondo (RPS) con una capacità di espansione aggiuntiva fornita dall'algoritmo del bucket token. La capacità massima del bucket è di 5.000 richieste per account e regione. Le impostazioni relative alla limitazione (della larghezza di banda della rete) di Gateway API vengono applicate nel seguente ordine:
Il superamento del limite o della quota restituisce una risposta di errore "429 Troppe richieste" o "Limite superato".
Per ulteriori informazioni, consulta Modalità di applicazione delle impostazioni di limitazione in API Gateway.
Risoluzione
Prima di iniziare, assicurati di aver seguito le istruzioni per attivare i file di log Amazon CloudWatch per la risoluzione dei problemi di API Gateway. Assicurati di scegliere ERRORE per generare i log di esecuzione solo per le richieste all'API che generano un errore. Quindi, visualizza le richieste e le risposte delle API registrate utilizzando la console CloudWatch.
Errore "429 Troppe richieste"
Verifica i limiti di velocità o burst per cliente o per metodo che hai impostato per la fase API del tuo piano di utilizzo. Quando vengono superati i limiti di velocità o burst, l’esecuzione di CloudWatch registra un errore di superamento del limite di accelerazione simile al seguente:
(f277a0b4-2bcd-41b3-8e43-4de770663ffb) API Key
**********************************
F0yrv6 exceeded throttle limit for API
Stage rohkz08x02/dev: Key throttle limit exceeded for Usage Plan ID
nnpegc, RestApi rohkz08x02, Stage dev, Resource f646q2, HttpMethod GET.
Limit: 5.00 Burst: 10
Per risolvere questo errore, usa nuovi tentativi e un algoritmo di backoff esponenziale con jitter, quindi invia nuovamente la richiesta API.
Per ulteriori informazioni, consulta Backoff esponenziale e jitter.
Errore "Limite superato"
Questo errore potrebbe indicare che il limite di quota è stato superato per il piano di utilizzo di API Gateway. Quando il limite di quota viene superato, l'esecuzione di CloudWatch registra un errore simile al seguente:
(7b819c41-e0a0-433a-883e-bc461fd70fd6) API Key
**********************************
F0yrv6 exceeded quota limit for API
Stage rohkz08x02/dev: Key quota exhausted for Usage Plan ID nnpegc. Q
Limit: 500 Period: DAY
Per risolvere questo errore, segui le istruzioni per estendere la quota rimanente.
Informazioni correlate
Come posso risolvere i problemi di throttling della funzione Lambda con gli errori "Velocità superata" e 429 "TooManyRequestsException"?
Come posso individuare gli errori dalla REST API di API Gateway nei log di CloudWatch?