Wie verhindere ich doppelte Lambda-Funktionsaufrufe?
Meine AWS-Lambda-Funktion erhält immer wieder mehrere Aufrufsanforderungen für ein einziges Ereignis. Wie verhindere ich, dass meine Lambda-Funktion mehrmals von demselben Ereignis aufgerufen wird?
Kurzbeschreibung
Um doppelte Lambda-Funktionsaufrufe zu verhindern, gehen Sie anhand des von Ihnen verwendeten Aufruftyps wie folgt vor.
Hinweis: Bei synchronen Aufrufen sind die Clients und AWS-Services, die eine Lambda-Funktion aufrufen, für die Durchführung von Wiederholungsversuchen verantwortlich. Bei asynchronen Aufrufen unternimmt Lambda bei Fehlern automatisch Wiederholungsversuche, mit Verzögerungen zwischen den Wiederholungsversuchen.
Behebung
Bei asynchronen Aufrufen
Sehen Sie sich die Amazon CloudWatch Logs Ihrer Lambda-Funktion an, um Folgendes zu überprüfen:
- Haben die doppelten Aufrufe dieselbe Anforderungs-ID oder nicht
- Gaben die doppelten Aufrufe Fehler zurück oder haben sie das Zeitlimit überschritten
Führen Sie dann basierend auf Ihrem Anwendungsfall eine der folgenden Aktionen aus:
Bei doppelten Aufrufen, die Fehler zurückgegeben oder das Zeitlimit überschritten haben und dieselbe Anforderungs-ID haben:
Hinweis: Doppelte Aufrufe, die Fehler oder Zeitüberschreitungen zurückgeben und dieselbe Anforderungs-ID haben, weisen darauf hin, dass der Lambda-Service die Funktion erneut versucht hat.
Konfigurieren Sie die Fehlerbehandlung für asynchrone Aufrufe, um die Häufigkeit zu reduzieren, mit der Ihre Lambda-Funktion fehlgeschlagene asynchrone Aufrufsanforderungen erneut versucht.
Weitere Informationen finden Sie unter Fehlerbehandlung und automatische Wiederholungsversuche in AWS Lambda.
Bei doppelten Aufrufen, die keine Fehler zurückgegeben oder das Zeitlimit überschritten haben:
Hinweis: Doppelte Aufrufe, die keine Fehler oder Zeitüberschreitungen zurückgeben, weisen auf clientseitige Wiederholungsversuche hin.
- Stellen Sie sicher, dass der Code Ihrer Lambda-Funktion idempotent ist und Nachrichten mehrfach verarbeiten kann.
- Stellen Sie sicher, dass das Nebenläufigkeitslimit Ihrer Lambda-Funktion hoch genug eingestellt ist, um die Anzahl der empfangenen Aufrufsanforderungen zu verarbeiten.
- Identifizieren und beheben Sie alle Fehler, die Ihre Lambda-Funktion zurückgibt.
Hinweis: Informationen zur Fehlerbehebung bei Funktionsaufrufen finden Sie unter Wie behebe ich Lambda-Funktionsfehler?
Bei synchronen Aufrufen
Hinweis: Das Verhalten bei Wiederholungsversuchen für synchrone Aufrufe variiert je nach AWS-Service basierend auf der Ereignisquellenzuordnung jedes Services. Weitere Informationen finden Sie unter Ereignisgesteuerter Aufruf.
- Stellen Sie sicher, dass der Code Ihrer Lambda-Funktion idempotent ist und Nachrichten mehrfach verarbeiten kann.
- Identifizieren und beheben Sie alle Fehler, die Ihre Lambda-Funktion zurückgibt.
Hinweis: Informationen zur Fehlerbehebung bei Funktionsaufrufen finden Sie unter Wie behebe ich Lambda-Funktionsfehler?
Relevante Informationen
Anzeigen von Ereignissen mit CloudTrail-Ereignisverlauf
Bewährte Methoden für die Arbeit mit AWS-Lambda-Funktionen

Relevanter Inhalt
- AWS OFFICIALAktualisiert vor einem Jahr
- AWS OFFICIALAktualisiert vor einem Jahr
- AWS OFFICIALAktualisiert vor 2 Monaten
- AWS OFFICIALAktualisiert vor einem Jahr