Mein AWS Batch-Auftrag schlägt fehl und ich erhalte die Fehlermeldung „Fehlermeldung – Zu viele Anfragen“.
Kurzbeschreibung
AWS Batch drosselt alle API-Anforderungen für AWS-Konten auf der Grundlage der AWS-Region des Kontos. Durch diese Aktion wird eine gleichbleibende Leistung gewährleistet und eine faire Nutzung für alle Kunden gewährleistet.
AWS Batch-API-Kontingente gelten in der Regel für jede API, einschließlich der API-Aufrufe DescribeJobs und SubmitJob.
Hinweis: Die maximale Anzahl von Transaktionen pro Sekunde (TPS) für jedes Konto für AWS Batch-API-Aufrufe, einschließlich der Operationen SubmitJob, beträgt 50. Dies ist ein festes Limit.
Wenn Sie Ihre AWS Batch-API-Kontingente erreicht haben, gibt AWS Batch die folgende Fehlermeldung zurück:
„Getting error Too Many Requests (Service: AWSBatch; Statuscode: 429; Fehlercode: TooManyRequestsException).“
Es gibt zwei häufige Gründe für den Fehler Getting error Too Many Requests:
- Sie reichen mehrere Aufträge gleichzeitig programmgesteuert über die AWS-Befehlszeilenschnittstelle (CLI) oder die AWS-SDKs ein.
- Sie verwenden AWS Lambda, um mehrere Aufträge einzureichen.
Hinweis: API-Kontingente gelten nur für AWS-Endpunkte. Diese Kontingente gelten nicht für Ihr Konto.
AWS stellt sicher, dass alle Aufrufe an alle Amazon-APIs die maximal zulässige API-Anforderungsrate nicht überschreiten. Die maximale API-Anforderungsrate kann je nach Region variieren
Lösung
Verwendung der Wiederholungsversuche und eines exponentiellen Backoff-Algorithmus mit Jitter sowie Einreichung eines neuen Auftrags
Weitere Informationen finden Sie unter Exponentielles Backoff und Jitter.
Verwenden Sie AWS Batch Array-Aufträge, um mehrere Aufträge mit einem einzigen SubmitJob-API-Aufruf einzureichen
Weitere Informationen finden Sie unter Array-Aufträge und SubmitJob.
Hinweis: Mit Array-Aufträgen von AWS Batch können Sie bis zu 10.000 Kopien eines Auftrags eines API-Aufrufs einreichen.