Wie behebe ich Probleme mit synchronen Lambda-Aufrufen?
Ich habe eine AWS-Lambda-Funktion eingerichtet, die synchron aufgerufen wird, aber das Ziel wird nicht initiiert. Wie kann ich dieses Problem beheben? Wenn ich eine Lambda-Funktion über die Lambda-Konsole aufrufe, wird sie synchron oder asynchron aufgerufen? -oder- Warum versucht meine Lambda-Funktion nicht erneut, nachdem ich sie so eingestellt habe, dass sie es ein oder zwei Mal erneut versucht?
Auflösung
Wenn Sie eine Lambda-Funktion synchron aufrufen und diese fehlschlägt, gibt es folgende mögliche Ursachen:
- Lambda hat keine Berechtigung, die im Code enthaltenen Aktionen auszuführen.
- Der AWS-Service, der die Lambda-Funktion aufruft, verfügt nicht über ausreichende Berechtigungen.
- Lambda wird asynchron aufgerufen.
- Lambda unterstützt Ziele nur für asynchrone Aufrufe und Stream-Aufrufe, nicht aber für synchrone Aufrufe.
Führen Sie die folgenden Schritte aus, um Probleme mit synchronen Aufrufen zu beheben:
1. Ermitteln Sie, wie die Lambda-Funktion aufgerufen wird. Wird die Funktion mit AWS CLI aufgerufen? Wird die Funktion über einen AWS-Service aufgerufen?
2. Überprüfen Sie, ob der AWS-Service die Lambda-Funktion synchron oder asynchron aufruft.
3. Rufen Sie die Lambda-Funktion synchron mit dem folgenden Befehl auf:
aws lambda invoke --function-name my-function --cli-binary-format raw-in-base64-out --payload '{ "key": "value" }' response.json
Prüfen Sie, ob ein 200-Statuscode gemeldet wird oder ob der Befehl einen Fehler zurückgibt.
4. Denken Sie daran, dass das Wiederholungsverhalten von Lambda-Funktionen bei synchronen Aufrufen vom Client gesteuert wird. Die Konfiguration der Wiederholungsversuche über die AWS-Lambda-Konsole ist auf asynchrone Aufrufe beschränkt. Stellen Sie sicher, dass der Client die Anfragen wiederholt, anstatt die Lambda-Protokolle zu überprüfen.
5. Denken Sie daran, dass eine in der Lambda-Konsole aufgerufene Lambda-Funktion immer ein synchroner Aufruf ist.
6. Das Verhalten bei Wiederholungsversuchen für synchrone Aufrufe variiert je nach AWS-Service basierend auf der Ereignisquellenzuordnung der einzelnen Services.
Weitere Informationen finden Sie unter Ereignisgesteuerter Aufruf.
7. Stellen Sie sicher, dass der Code der Lambda-Funktion idempotent ist und dieselben Nachrichten mehrfach verarbeiten kann.
8. Identifizieren und beheben Sie alle Fehler, die Ihre Lambda-Funktion zurückgibt.
Weitere Informationen finden Sie unter Wie behebe ich Lambda-Funktionsfehler?
9. Wenn Sie das Problem immer noch nicht lösen können, öffnen Sie einen Fall beim AWS Support. Geben Sie in dem Fall die folgenden Informationen an:
- Die Lambda-Funktion-ARN.
- Der Workflow zur Einrichtung der Lambda-Funktion mit allen enthaltenen Leistungen.
- Einzelheiten darüber, ob das Problem zeitweise oder kontinuierlich auftritt.
- Vollständige CloudWatch-Protokolle im .txt-Format vom Zeitpunkt des Auftretens des Problems. Diese CloudWatch-Protokolle werden verwendet, um Lambda-Funktionsfehler zu identifizieren, zu denen Timeout-Probleme, Init-Dauer und Berechtigungsprobleme gehören.
- Der genaue Zeitstempel des Problems mit der Zeitzone oder dem Zeitstempel in UTC.
Hinweis: AWS-Supportmitarbeiter haben aus Sicherheits- und Datenschutzgründen keinen Zugriff auf CloudWatch-Kundenprotokolle.
Relevante Informationen

Relevanter Inhalt
- AWS OFFICIALAktualisiert vor 3 Jahren
- AWS OFFICIALAktualisiert vor 4 Monaten
- AWS OFFICIALAktualisiert vor 2 Jahren
- AWS OFFICIALAktualisiert vor 2 Monaten