Wie kann ich die Fehler „429 Too Many Requests“ oder „Limit Exceeded“ für meine API Gateway API beheben?

Lesedauer: 3 Minute
0

Ich habe beim Senden von Anfragen an meine Amazon API Gateway-API die Fehler „429 Too Many Requests“ oder „Limit Exceeded“ erhalten. Wie können diese Fehler behoben werden?

Kurzbeschreibung

API Gateway verfügt über Kontingente auf Kontoebene pro Region. Die Drosselquote beträgt 10.000 Anfragen pro Sekunde (RPS) mit einer zusätzlichen Burst-Kapazität, die vom Token-Bucket-Algorithmus bereitgestellt wird. Die maximale Bucket-Kapazität beträgt 5.000 Anfragen pro Konto und Region. Einstellungen im Zusammenhang mit API Gateway-Drosselung werden in der folgenden Reihenfolge angewendet:

Bei Überschreitung des Einschränkungslimits oder Kontingents wird die Fehlermeldung „429 Too Many Requests“ oder „Limit Exceeded“ zurückgegeben.

Weitere Informationen finden Sie unter So werden die Einstellungen für Einschränkungslimits in API Gateway angewendet.

Behebung

Bevor Sie beginnen, stellen Sie sicher, dass Sie die Anweisungen zum Aktivieren von Amazon CloudWatch Logs zur Fehlerbehebung bei API Gateway befolgt haben. Stellen Sie sicher, dass Sie ERROR auswählen, um Ausführungsprotokolle nur für Anforderungen an Ihre API zu generieren, die zu einem Fehler führen. Zeigen Sie dann protokollierte API-Anfragen und -Antworten mithilfe der CloudWatch-Konsole an.

Fehler „429 Too Many Requests“

Überprüfen Sie die Rate oder das Burst-Limit für Einschränkungslimits pro Client oder Methode, die Sie für die API-Stufe für Ihren Nutzungsplan festgelegt haben. Wenn die Raten- oder Burst-Grenzwerte überschritten werden, protokolliert die CloudWatch-Ausführung einen Fehler, der dem folgenden ähnelt:

(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, verwenden Sie Wiederholungen und einen exponentiellen Backoff-Algorithmus mit Jitter und senden Sie dann Ihre API-Anfrage erneut.

Weitere Informationen finden Sie unter Exponentieller Backoff und Jitter.

Fehler „Limit Exceeded“

Dieser Fehler könnte darauf hinweisen, dass das Kontingentlimit für Ihren API Gateway Nutzungsplan überschritten wurde. Wenn das Kontingentlimit überschritten wird, protokolliert die CloudWatch-Ausführung einen Fehler bei Überschreitung des Kontingentlimits ähnlich dem folgenden:

(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, befolgen Sie die Anweisungen zur Erweiterung des verbleibenden Kontingents.


Ähnliche Informationen

Wie behebe ich Fehler bei der Drosselung von Lambda-Funktionen mit den Fehlern "Rate exceeded" (Rate überschritten) und 429 "TooManyRequestsException" (Ausnahme – zu viele Anfragen)?

Wie suche ich in meinen CloudWatch-Protokollen API-Gateway-REST-API-Fehler?

AWS OFFICIAL
AWS OFFICIALAktualisiert vor 2 Jahren