Aufrufen von Lambda-Funktionen - Amazon Connect

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Aufrufen von Lambda-Funktionen

Schritt 1: Erstellen einer Lambda-Funktion

Während der Kampagnenausführung rufen ausgehende Kampagnen Ihre Lambda-Funktion mit einer Reihe von Profilen auf und erwarten für jedes eine Antwort mit Ergebnissen.

Payload anfordern

Wenn Ihre Lambda-Funktion aufgerufen wird, erhält sie eine JSON-Nutzlast mit der folgenden Struktur:

Struktur der Nutzlast

{ "InvocationMetadata": { "CampaignContext": { "CampaignId": "string", "RunId": "string", "ActionId": "string", "CampaignName": "string" } }, "Items": { "CustomerProfiles": [ { "ProfileId": "string", "CustomerData": "string", "IdempotencyToken": "string" } ] } }

Beschreibungen der Felder

InvocationMetadata
  • CampaignContext: Enthält Metadaten zur Kampagnenausführung

  • CampaignId: Eindeutiger Bezeichner für die Kampagne

  • RunId: Eindeutige Kennung für diesen speziellen Kampagnenlauf

  • ActionId: Die Kennung der Flow-Aktion, die von ausgehenden Kampagnen ausgeführt wird

  • CampaignName: Für Menschen lesbarer Name der Kampagne

Items
  • CustomerProfiles: Reihe von zu verarbeitenden Kundenprofilen (aus Effizienzgründen gebündelt)

  • ProfileId: Eindeutige Kennung für das Kundenprofil

  • CustomerData: JSON-Zeichenfolge des Kundenprofils

  • IdempotencyToken: Einzigartiges Token für diesen speziellen Aufruf, um eine idempotente Verarbeitung sicherzustellen

Beispiel für eine Payload für eine Anfrage

{ "InvocationMetadata": { "CampaignContext": { "CampaignId": "campaign-12345", "RunId": "run-67890", "ActionId": "activity-abc123", "CampaignName": "Welcome Campaign" } }, "Items": { "CustomerProfiles": [ { "ProfileId": "customer-001", "CustomerData": "{\"firstName\":\"John\",\"lastName\":\"Doe\",\"email\":\"john.doe@example.com\"}", "IdempotencyToken": "token-xyz789" }, { "ProfileId": "customer-002", "CustomerData": "{\"firstName\":\"Jane\",\"lastName\":\"Smith\",\"email\":\"jane.smith@example.com\"}", "IdempotencyToken": "token-abc456" } ] } }

Erwartete Antwort-Payload

Ihre Lambda-Funktion muss eine JSON-Antwort mit der folgenden Struktur zurückgeben:

Struktur der Antwort

{ "Items": { "CustomerProfiles": [ { "Id": "string", "ResultData": {} } ] } }

Beschreibungen der Felder

Items
  • CustomerProfiles: Reihe von Ergebnissen, die jedem Kundenprofil in der Anfrage entsprechen

  • ID: Muss mit der ProfileId aus der Anfrage übereinstimmen

  • ResultData: Benutzerdefiniertes JSON-Objekt, das Ihre Verarbeitungsergebnisse enthält (optional)

Beispiel für eine Antwort-Payload

{ "Items": { "CustomerProfiles": [ { "Id": "customer-001", "ResultData": { "recommendedProduct": "Premium Plan", "score": 85, "nextAction": "send_email" } }, { "Id": "customer-002", "ResultData": { "error": "Invalid customer data", "errorCode": "VALIDATION_ERROR" } } ] } }

Wichtige Einschränkungen

Größenbeschränkungen für Nutzlasten

  • Maximale Größe der Antwort-Nutzlast: 32 KB pro Kundenprofil

  • Wenn Sie dieses Limit ResultData überschreiten, wird der Aufruf als ungültig markiert

Anforderungen an die Antwort

  • Sie müssen für alle in der Anfrage ProfileId enthaltenen Informationen eine Antwort geben

  • Fehlende Antworten werden als Fehler behandelt

  • Das Id Feld in der Antwort muss genau mit dem ProfileId aus der Anfrage übereinstimmen

Fehlerbehandlung

  • Wenn Ihre Lambda-Funktion eine Ausnahme auslöst, werden alle Profile im Batch als fehlgeschlagen markiert

  • Fügen Sie zu Debugging-Zwecken Fehlerdetails ResultData hinzu

Art des Aufrufs

  • Aufruftyp: REQUEST_RESPONSE (synchron)

  • Ihre Funktion sollte Ergebnisse innerhalb von 30 Sekunden zurückgeben, anstatt sie asynchron zu verarbeiten. Antworten, die länger als 30 Sekunden dauern, führen zu einem Fehlschlagen der Aktion

Schritt 2: Gewähren Sie ausgehenden Kampagnen Zugriff auf Ihre Lambda-Funktion

  1. Öffnen Sie die Amazon Connect Connect-Konsole unter https://console.aws.amazon.com/connect/.

  2. Wählen Sie auf der Instance-Seite Ihren Instance-Namen in der Spalte Instance Alias aus. Dieser Instancename erscheint in der URL, die Sie für den Zugriff auf Amazon Connect verwenden.

  3. Wählen Sie im Navigationsbereich unter Kanäle und Kommunikation die Option Ausgehende Kampagnen aus.

  4. Verwenden Sie im Abschnitt Benutzerdefinierte Aktionen einrichten das Dropdown-Feld Lambda-Funktionen, um die Funktion auszuwählen, die zu Ihrer Instanz für ausgehende Kampagnen hinzugefügt werden soll.

  5. Wählen Sie Add Lambda Function. Überprüfen Sie, ob der ARN der Funktion in Lambda Functions (Lambda-Funktionen) hinzugefügt wurde.

Schritt 3: Ein Lambda aus einer Kampagne aufrufen

  1. Öffnen oder erstellen Sie einen Journey-Flow.

  2. Fügen Sie dem Raster einen benutzerdefinierten Aktionsblock (in der Gruppe Integrieren) hinzu. Verbinden Sie die Verzweigungen, die zum Block und vom Block wegführen.

  3. Wählen Sie den Titel des benutzerdefinierten Aktionsblocks, um die zugehörige Eigenschaftenseite zu öffnen.

  4. Wählen Sie unter Function ARN aus der Liste der Funktionen aus, die Sie zu Ihrer Instanz für ausgehende Kampagnen hinzugefügt haben.

Schritt 4: Verbrauchen Sie die Lambda-Funktionsantwort

Direktes Zugreifen auf Variablen

Um direkt in einem Flow-Block auf diese Variablen zuzugreifen, fügen Sie den Block nach dem benutzerdefinierten Aktionsblock hinzu und referenzieren Sie dann die Attribute, wie im folgenden Beispiel gezeigt:

RecommendedProduct - $.LambdaInvocation.ResultData.recommendedProduct Score - $.LambdaInvocation.ResultData.score

Stellen Sie sicher, dass der für das Quellattribut angegebene Name mit dem Schlüsselnamen in der vom Lambda ResultData zurückgegebenen Datei übereinstimmt.