Knowledge Center Monthly Newsletter - June 2025
Stay up to date with the latest from the Knowledge Center. See all new Knowledge Center articles published in the last month, and re:Post's top contributors.
Wie behebe ich Lambda-Funktionsfehler in einem Amazon Connect-Gesprächsablauf?
Ich möchte wissen, warum meine AWS Lambda-Funktion nicht aufgerufen werden kann, wenn mein Gesprächsablauf versucht, die Funktion in Amazon Connect aufzurufen.
Lösung
Überprüfung der Fehlermeldung im Gesprächsverlaufsprotokoll
Führe die folgenden Schritte aus:
- Wenn du das Gesprächsverlaufsprotokoll nicht konfiguriert hast, aktiviere die Gesprächsverlaufsprotokollierung für deine Amazon Connect-Instance.
- Durchsuche deine Gesprächsverlaufsprotokolle nach Fehlermeldungen. Um beispielsweise in einem bestimmten Zeitraum nach einer Fehlermeldung zu suchen, führe eine Abfrage ähnlich der folgenden aus:
fields @timestamp, @message | filter @message like 'Results' | parse @message '"Results":"*","ContactId":"*","ContactFlowId":"*","ContactFlowName":"*","ContactFlowModuleType":"*"' as Results, ContactId, ContactFlowId, ContactFlowName, BlockType | filter Results like 'rror' or Results like 'ailed' or Results like 'imeout' or Results like 'xception' or Results like 'No prompt provided' or Results like 'Instance has reached concurrent Lambda thread access limit' or Results like 'nsupported' or Results like 'nvalid' or Results like 'not found' or Results like 'execution limit reached' | filter BlockType = 'InvokeExternalResource' | sort @timestamp asc | display Timestamp, Results, ContactId, ContactFlowId, ContactFlowName, BlockType
Führe auf der Grundlage der Fehlermeldung die folgenden Aufgaben aus.
Status-Code: 403; Fehler-Code: AccessDeniedException; RequestId: XXXXXXXX
Wenn die ressourcenbasierte Richtlinie deiner Funktion Amazon Connect nicht die Erlaubnis erteilt, die Funktion aufzurufen, erhältst du möglicherweise den vorherigen Fehler. Du kannst die ressourcenbasierte Richtlinie deiner Funktion überprüfen, um festzustellen, ob die Richtlinie die erforderlichen Berechtigungen enthält.
Verwende eine der folgenden Methoden, um der Richtlinie die erforderlichen Berechtigungen hinzuzufügen:
-
Verwende die Amazon Connect-Konsole, um Deiner Instance eine Lambda-Funktion hinzuzufügen. Die Funktion erhält automatisch Ressourcenberechtigungen, wenn sie der Instance hinzugefügt wird.
-
Führe den Befehl add-permission der AWS Command Line Interface (AWS CLI) aus. Füge den Prinzipal connect.amazonaws.com und den Amazon-Ressourcennamen (ARN) deiner Amazon Connect-Instance ein.
Beispiel:aws lambda add-permission --function-name function-name --action lambda:InvokeFunction --statement-id connect-to-lambda --principal connect.amazonaws.com --source-arn connect-instance-arn
-
Verwende die Lambda-Konsole, um eine ressourcenbasierte Richtlinie zu erstellen. Weitere Informationen findest du unter Berechtigungen in Lambda verwalten.
Beispiel für eine ressourcenbasierte Richtlinie:{ "Version": "2012-10-17", "Id": "default", "Statement": [ { "Sid": "100", "Effect": "Allow", "Principal": { "Service": "connect.amazonaws.com" }, "Action": "lambda:InvokeFunction", "Resource": "<Qualified AWS Lambda ARN>", "Condition": { "ArnLike": { "AWS:SourceArn": "<Amazon Connect ARN>" } } } ] }
„The Lambda Function Returned An Error“
Um herauszufinden, was den vorherigen Fehler verursacht haben könnte, überprüfe die Amazon CloudWatch-Metriken für Lambda. Überprüfe die Metriken auf Daten mit entsprechendem Zeitstempel.
Wenn die Fehlermetriken keine Daten zum zugehörigen Zeitstempel enthalten, überprüfe die Antwort deiner Funktion.
Hinweis: Es hat sich bewährt, die von deiner Lambda-Funktion zurückgegebene Ausgabe zu testen. Vergewissere dich, dass die Lambda-Funktion die Ausgabe in einem Format zurückgibt, das mit Amazon Connect kompatibel ist.
Überprüfe für die Ausgabe die folgenden Konfigurationen:
- Die Lambda-Nutzdaten müssen einen anderen Wert als NULL haben.
- Wenn der Antwortvalidierungstyp eine STRING_MAP ist, muss die Ausgabe ein flaches Objekt aus Schlüssel-Wert-Paaren sein und darf nicht verschachtelt sein. Wenn der Typ JSON ist, muss das Objekt ein gültiger JSON-Wert sein und darf kein verschachteltes JSON enthalten.
- Die Schlüssel-Wert-Paare können nur alphanumerische Zeichen, den Bindestrich oder den Unterstrich enthalten.
- Die Größe der zurückgegebenen Daten muss weniger als 32 KB an UTF-8-Daten betragen.
- Stelle sicher, dass die Timeout-Einstellung für deine Lambda-Funktion auf einen ausreichend hohen Wert eingestellt ist. Der Wert muss hoch genug sein, damit deine Funktion Daten aufrufen, verarbeiten und dann eine Antwort zurückgeben kann.
Wenn du das Aufrufen einer Lambda-Funktion im Gesprächsverlauf verwendest, ist das Limit kleiner als das, was für das maximale Lambda-Timeout-Limit konfiguriert ist. Die Timeout-Einstellung hat einen Standardwert von 3 Sekunden und einen Höchstwert von 8 Sekunden.
Angenommen, die Lambda-Funktion ist mit einem Timeout-Wert von 15 Sekunden konfiguriert und Lambda wird 10 Sekunden lang ausgeführt. Obwohl du keinen Timeout-Fehler erhältst, leitet der Gesprächsablauf die Ausführung an den Fehlerzweig weiter, da der maximal zulässige Timeout-Wert 8 Sekunden beträgt.
Um herauszufinden, wie lange es dauert, bis die Funktion aufgerufen wird, überprüfe die Dauer-Metriken für die Funktion in Amazon CloudWatch. Aktualisiere dann nach Bedarf den Timeout-Wert von Lambda-Funktion aufrufen und der Lambda-Funktionen.
Hinweis: Verwende asynchrone Lambda-Funktionen mit Amazon Connect, um Lambda-Funktionen in den Gesprächsablauf einzubeziehen, deren Aufruf länger als acht Sekunden dauert. Wenn du mehrere Lambda-Funktionen aufrufst, muss die Dauer der Funktionssequenz 20 Sekunden oder weniger betragen.
Wenn die Lambda-Fehler-Metriken Daten mit dem zugehörigen Zeitstempel enthalten, führe die Schritte unter Wie behebe ich Lambda-Funktionsfehler? aus
Ähnliche Informationen

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