Wenn ich mit Amazon API Gateway Anforderungen an meine API sende, erhalte ich die Fehlermeldung „429 Too Many Requests“ oder „Limited Exceeded“.
Kurzbeschreibung
Wenn du die Drosselungsgrenze des Kontingents überschreitest, erhältst du die Fehlermeldung „429 Too Many Requests“ oder „Limited Exceeded“. API Gateway hat Kontingente auf Kontoebene pro Region. Weitere Informationen zu Einstellungen im Zusammenhang mit der Drosselung findest du unter So werden die Einstellungen für das Drosselungslimit in API Gateway angewendet.
Lösung
Vergewissere dich zunächst, dass du die Anweisungen zur Aktivierung von Amazon CloudWatch Logs zur Fehlerbehebung bei API Gateway befolgt hast. Um Ereignisprotokolle nur für Anforderungen an deine API mit einem Fehler zu generieren, stelle sicher, dass du ERROR wählst. Verwende dann die CloudWatch-Konsole, um protokollierte API-Anforderungen und -Antworten anzuzeigen.
Fehler „429 Too Many Requests“
Prüfe die Raten- oder Burst-Begrenzung für die Drosselungsgrenzen pro Client oder pro Methode, die du für die API-Stufe deines Nutzungsplans festgelegt hast. Wenn die Raten- oder Burst-Begrenzung überschritten wird, protokolliert das CloudWatch-Ereignis eine Überschreitung der Drosselungsgrenze. Der Fehler sieht ähnlich wie folgt aus:
(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
Um diesen Fehler zu beheben, verwende einen Standard-Wiederholungsmodus mit unregelmäßigem exponentiellem Backoff und sende dann deine API-Anforderung erneut. Weitere Informationen findest du unter Verhalten bei Wiederholungen.
Fehler „Limit Exceeded“
Wenn du diesen Fehler erhältst, ist das Kontingentlimit für den API Gateway-Nutzungsplan überschritten. Die CloudWatch-Ausführung protokolliert eine Überschreitung des Kontingentlimits. Der Fehler sieht ähnlich wie folgt aus:
(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
Um diesen Fehler zu beheben, erweitere das Kontingent.
Ähnliche Informationen
Wie behebe ich die Lambda-Funktionsdrosselung mit den Fehlern „Rate exceeded“ und 429 „TooManyRequestsException“?
Wie finde ich API Gateway-REST-API-Fehler in meinen CloudWatch-Protokollen?