Direkt zum Inhalt

Wie verhindere ich doppelte Aufrufe von Lambda-Funktionen?

Lesedauer: 2 Minute
0

Meine AWS-Lambda-Funktion hat mehr als eine Aufrufanforderung für ein einzelnes Ereignis erhalten.

Kurzbeschreibung

Bei synchronen Aufrufen wiederholen die Clients und AWS-Services, die eine Lambda-Funktion aufrufen, den Vorgang. Bei asynchronen Aufrufen wiederholt Lambda Funktionsfehler automatisch zweimal.

Lösung

Um doppelte Aufrufe der Lambda-Funktion zu verhindern, führe die folgenden Aktionen auf der Grundlage der von dir verwendeten Aufrufmethode aus.

Hinweis: Informationen zur Behebung von Funktionsaufruffehlern findest du unter Wie behebe ich Fehler bei Lambda-Funktionen?

Asynchrone Aufrufe

Prüfe die Amazon CloudWatch Logs der Lambda-Funktion. Überprüfe, ob die doppelten Aufrufe dieselbe Anforderungs-ID haben und ob die doppelten Aufrufe Fehler zurückgegeben haben oder ein Timeout aufgetreten ist.

Führe dann je nach Anwendungsfall einen der folgenden Schritte aus:

Für doppelte Aufrufe, bei denen Fehler zurückgegeben wurden oder ein Timeout aufgetreten ist und die dieselbe Anforderungs-ID haben

Hinweis: Doppelte Aufrufe, die Fehler zurückgeben oder bei denen ein Timeout auftritt und die dieselbe Anforderungs-ID haben, weisen darauf hin, dass der Lambda-Service die Funktion wiederholt hat.

Konfiguriere die Fehlerbehandlung für asynchrone Aufrufe, um die Häufigkeit zu reduzieren, mit der die Lambda-Funktion fehlgeschlagene asynchrone Aufrufanforderungen wiederholt.

Für doppelte Aufrufe, bei denen keine Fehler zurückgegeben wurden oder kein Timeout aufgetreten ist

Hinweis: Doppelte Aufrufe, die keine Fehler zurückgeben oder bei denen kein Timeout auftritt, deuten auf Client-seitige Wiederholungsversuche hin.

Ergreife die folgenden Maßnahmen:

Hinweis: Informationen zur Behebung von Funktionsaufruffehlern findest du unter Wie behebe ich Fehler bei Lambda-Funktionen?

Synchrone Aufrufe

Hinweis: Das Verhalten synchroner Aufruf-Wiederholungsversuche variiert zwischen den AWS-Services, basierend auf der Zuordnung von Ereignisquellen der einzelnen Services. Weitere Informationen findest du unter Aufrufen von Lambda mit Ereignissen aus anderen AWS-Services.

Stelle sicher, dass der Code der Lambda-Funktion idempotent ist und Nachrichten mehrfach verarbeiten kann. Identifiziere und behebe dann alle Fehler, die die Lambda-Funktion zurückgibt.

Ähnliche Informationen

Mit dem CloudTrail-Ereignisverlauf arbeiten

Bewährte Methoden für die Arbeit mit AWS-Lambda-Funktionen

AWS OFFICIALAktualisiert vor 6 Monaten