Wenn ich einen AWS-Glue-API-Aufruf tätige, erhalte ich eine ThrottlingException-Fehlermeldung, die darauf hinweist, dass meine Rate überschritten wurde.
Kurzbeschreibung
Wenn Sie eine AWS-Glue-API-Anfrage stellen, erhalten Sie möglicherweise eine Fehlermeldung ähnlich einer der folgenden:
- "Error Code: ThrottlingException; Request ID: 07512ede-123f-49c8-8933-1298742297b9; Proxy: null)" } }{ "taskSubmitFailedEventDetails": { "resourceType": "glue", "resource": "startJobRun.sync", "error": "Glue.AWSGlueException", "cause": "Rate exceeded (Service: AWSGlue; Status Code: 400;"
- "TaskSubmitFailed": {"resourceType": "glue", "resource": "startJobRun.sync", "error": "Glue.AWSGlueException", "cause": "Rate exceeded (Service: AWSGlue; Status Code: 400; Error Code: ThrottlingException; Request ID: 70ea5ab7-2bb8-4a47-b957-799ef46c129e; Proxy: null)" }"
- "botocore.exceptions.ClientError: An error occurred (ThrottlingException) when calling the GetCrawler operation (reached max retries: 4): Rate exceeded cause": "Rate exceeded (Service: AWSGlue; Status Code: 400; Error Code: ThrottlingException; Request ID: 70ea5ab7-2bb8-4a47-b957-799ef46c129e; Proxy: null)"
AWS-Glue-API-Anfragen werden für AWS-Konten pro Region eingeschränkt, um die Serviceleistung zu verbessern. Weitere Informationen finden Sie unter AWS-Glue-Endpunkte und Kontingente.
Lösung
Befolgen Sie diese Best Practices, um einen ThrottlingException- oder Ratenüberschreitungsfehler zu verhindern:
- Reduzieren Sie die Häufigkeit der API-Aufrufe.
- Verteilen Sie die Intervalle zwischen Ihren API-Aufrufen, damit sie nicht alle gleichzeitig ausgeführt werden.
- Verwenden Sie APIs, die mehr als einen Wert zurückgeben. GetPartitions unterstützt beispielsweise einen Aufruf von 1 000 Werten mit einem API-Aufruf. In ähnlicher Weise unterstützt GetTables einen Aufruf von 100 Parametern mit einem API-Aufruf.
- Implementieren Sie wiederholte Fehlerversuche und exponentielles Backoff, wenn Sie API-Aufrufe tätigen.
- Überprüfen Sie mithilfe der AWS-CloudTrail-Konsole, welche und wie viele API-Aufrufe in einem bestimmten Zeitraum gesendet werden.
Wenn Sie diese Schritte zur Fehlerbehebung ausprobiert haben, aber immer noch Ratenüberschreitungsfehler erhalten, fordern Sie eine Erhöhung des Servicekontingents an.
Hinweis: Bevor Sie eine Anfrage zur Erhöhung Ihres Kontingents einreichen, identifizieren Sie den API-Aufruf, der den Fehler verursacht hat, und die Aufrufrate.
Relevante Informationen
Häufige Fehler