Wie behebe ich Lambda-Funktionsfehler in einem Amazon-Connect-Gesprächsablauf?

Letzte Aktualisierung: 24.08.2021

Die AWS-Lambda-Funktion, die ich meiner Amazon-Connect-Instance hinzugefügt habe, wird nicht aufgerufen, wenn mein Gesprächsverlauf versucht, die Funktion aufzurufen. Wie können diese Fehler behoben werden?

Lösung

Hinweis:Wenn Sie beim Ausführen von AWS-Command-Line-Interface(AWS CLI)-Befehlen Fehler erhalten, stellen Sie sicher, dass Sie die neueste AWS-CLI-Version verwenden.

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 Gesprächsverlaufs für Ihre Amazon-Connect-Instance.

2.    Durchsuchen Sie Ihre Gesprächsverlaufsprotokolle 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 den Hauptartikel connect.amazonaws.com und den Amazon Resource Name (ARN) Ihrer Amazon-Connect-Instance hinzu.

Weitere Informationen finden Sie unter Erstellen einer Lambda-Funktion im Amazon- Connect-Administratorhandbuch. SowieGewä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<Qualified AWS Lambda ARN> durch den ARN Ihrer Funktion. Ersetzen Sie <Amazon Connect ARN>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 des Funktionsblocks 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 Gesprächsverlauf aufzunehmen, deren Aufrufen länger als acht Sekunden dauert, verwenden Sie asynchrone Lambda-Funktionen mit Amazon Connect.

(Wenn Sie mehrere Lambda-Funktionen aufrufen) 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. Um mehrere Funktionen aufzurufen, die länger als 20 Sekunden dauern, können Sie zwischen den einzelnen Funktionen einen Kontaktblock für die Wiedergabeaufforderung hinzufügen.

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?


War dieser Artikel hilfreich?


Benötigen Sie Hilfe zur Fakturierung oder technischen Support?