Come posso risolvere gli errori "429 Too Many Requests" (429 Troppe richieste) o "Limit Exceeded" (Limite superato) per la mia API con Gateway API?

2 minuti di lettura
0

Quando invio richieste alla mia API con Gateway Amazon API, ricevo l'errore "429 Too Many Requests" (429 Troppe richieste) o "Limit Exceeded" (Limite superato).

Breve descrizione

Se superi il limite della quota, ricevi una risposta di errore "429 Too Many Requests" (429 Troppe richieste) o "Limit Exceeded" (Limite superato). Gateway API ha quote a livello di account, per regione. Per ulteriori informazioni sulle impostazioni relative alla limitazione, consulta How throttling limit settings are applied in API Gateway.

Risoluzione

Innanzitutto, verifica di aver seguito le istruzioni per attivare Amazon CloudWatch Logs per risolvere i problemi relativi a Gateway API. Per generare log di eventi solo per le richieste all'API che hanno generato un errore, assicurati di scegliere ERROR. Quindi, utilizza la console CloudWatch per visualizzare le richieste e le risposte API registrate.

Errore "429 Too Many Requests" (429 Troppe richieste)

Controlla il limite di burst o di velocità per la limitazione per client o per metodo che hai impostato per la fase API del tuo piano di utilizzo. Quando viene superato il limite di velocità o di burst, l'evento CloudWatch registra il superamento del limite. L’errore è 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 l'errore, usa una modalità di riprova standard con backoff esponenziale con jitter, quindi invia nuovamente la richiesta API. Per ulteriori informazioni, consulta Retry behavior.

Errore "Limit Exceeded" (Limite superato)

Quando ricevi questo errore, è stato superato il limite di quota per il tuo piano di utilizzo di Gateway API. L'esecuzione di CloudWatch registra un limite di quota superato. L’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, estendi la quota.

Informazioni correlate

Come faccio a risolvere la limitazione della funzione Lambda che restituisce gli errori "Rate exceeded" e 429 "TooManyRequestsException"?

Come faccio a trovare gli errori di REST API in API Gateway nei miei log di CloudWatch?