Wie behebe ich Lambda-Funktionsfehler in einem Amazon-Connect-Kontaktfluss?
Ich möchte wissen, warum meine AWS-Lambda-Funktion nicht aufgerufen wird, wenn mein Kontaktfluss versucht, die Funktion in Amazon Connect aufzurufen.
Lösung
Stellen Sie sicher, dass die ressourcenbasierte Richtlinie Ihrer Lambda-Funktion Amazon-Connect die Berechtigung erteilt, die Funktion aufzurufen
1. Wenn Sie dies noch nicht getan haben, aktivieren Sie die Protokollierung des Kontaktflusses für Ihre Amazon-Connect-Instance.
2. Durchsuchen Sie Ihre Kontaktflussprotokolle nach jeglichen AccessDeniedException-Fehlermeldungen. Sie sehen diesen Fehler, wenn die ressourcenbasierte Richtlinie AWS Identity and Access Management (IAM) Ihrer Funktion Amazon Connect keine Berechtigung zum Aufrufen der Funktion gewährt.
Hinweis: Sie können die ressourcenbasierten Richtlinien Ihrer Funktion auch manuell überprüfen, um festzustellen, ob sie die erforderlichen Berechtigungen enthält. Weitere Informationen finden Sie unter Verwendung ressourcenbasierter Richtlinien für AWS Lambda.
So fügen Sie die erforderlichen Berechtigungen hinzu
Führen Sie den AWS-CLI-Befehl zum Hinzufügen von Berechtigungen aus. Fügen Sie das Prinzipal connect.amazonaws.com und den Amazon-Ressourcenname (ARN) Ihrer Amazon-Connect-Instance hinzu.
Hinweis: Wenn Sie beim Ausführen von AWS-Command-Line-Interface-Befehlen (AWS CLI) Fehler erhalten, stellen Sie sicher, dass Sie die neueste AWS-CLI-Version verwenden.
Weitere Informationen finden Sie unter Erstellen einer Lambda-Funktion im Amazon- Connect-Administratorhandbuch. Sowie Gewähren von Funktionszugriff auf AWS-Services im Lambda-Entwicklerhandbuch.
Beispiel für eine ressourcenbasierte Richtlinie für eine Lambda-Funktion, die Amazon Connect die Berechtigung zum Aufrufen der Funktion erteilt
Wichtig: Ersetzen Sie es durch den ARN Ihrer Funktion. Ersetzen Sie durch den ARN Ihrer Amazon-Connect-Instance.
{ "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>" } } } ] }
Überprüfen Sie die Antwort Ihrer Lambda-Funktion
Folgen Sie den Anweisungen unter Überprüfen der Funktionsantwort im Amazon-Connect-Administratorhandbuch. Wenn Sie die von Ihrer Lambda-Funktion zurückgegebene Ausgabe testen, überprüfen Sie Folgendes:
- Die Ausgabe ist ein flaches Objekt von Schlüssel-Wert-Paaren.
- Die Schlüssel-Wert-Paare enthalten nur alphanumerische Zeichen, Bindestriche und Unterstriche.
- Das Objekt ist nicht verschachtelt oder komplex.
- Die Größe der zurückgegebenen Daten beträgt weniger als 32 KB von UTF-8-Daten.
Stellen Sie sicher, dass die Einstellung „Timeout“ für Ihre Lambda-Funktion hoch genug eingestellt ist, damit Ihre Funktion aufgerufen werden kann.
Wenn Ihre Funktion nicht innerhalb der konfigurierten Timeout-Einstellung aufruft, leitet der Kontakt den Fehlerzweig der Funktion AWS Lambda aufrufen nach unten. Die Standardeinstellung für Timeout beträgt drei Sekunden. Die maximale Timeout-Einstellung beträgt acht Sekunden.
Um zu sehen, wie lange es dauert, Ihre Funktion aufzurufen, überprüfen Sie die Dauermetriken Ihrer Funktion in Amazon CloudWatch.
Informationen zum Überprüfen und Bearbeiten der Timeout-Einstellung für Ihre Lambda-Funktion finden Sie unter Kontaktblock: AWS-Lambda-Funktion aufrufen.
Hinweis: Um Lambda-Funktionen in Ihren Kontaktfluss aufzunehmen, deren Aufrufe länger als acht Sekunden dauert, verwenden Sie asynchrone Lambda-Funktionen mit Amazon Connect.
Wenn Sie mehrere Lambda-Funktionen aufrufen, dann stellen Sie sicher, dass die Dauer der Funktionsfolge weniger als 20 Sekunden beträgt.
Amazon Connect begrenzt die Dauer einer Folge von Lambda-Funktionen auf 20 Sekunden.
Weitere Informationen finden Sie im Abschnitt Lambda unter bewährte Praktiken für Amazon Connect im Amazon-Connect-Administratorhandbuch.
Identifizieren und beheben Sie alle anderen Fehler, die dazu führen, dass Ihre Funktion fehlschlägt.
Folgen Sie den Anweisungen unter Wie behebe ich Lambda-Funktionsfehler?
Ähnliche Informationen
Relevanter Inhalt
- AWS OFFICIALAktualisiert vor einem Jahr
- AWS OFFICIALAktualisiert vor einem Monat
- AWS OFFICIALAktualisiert vor einem Monat