Come posso risolvere gli errori "429 Troppe richieste" o "Limite superato" della mia API gateway?
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:
- Limitazione per cliente o per metodo impostata per una fase API in un piano di utilizzo.
- Limiti per metodo impostati per una fase API.
- Limitazione a livello di account per regione.
- Limitazione per regione AWS.
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 individuare gli errori dalla REST API di API Gateway nei log di CloudWatch?
Contenuto pertinente
- AWS UFFICIALEAggiornata un anno fa
- AWS UFFICIALEAggiornata 2 anni fa
- AWS UFFICIALEAggiornata un anno fa