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
ProfileIdaus 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
ProfileIdenthaltenen Informationen eine Antwort geben -
Fehlende Antworten werden als Fehler behandelt
-
Das
IdFeld in der Antwort muss genau mit demProfileIdaus 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
ResultDatahinzu
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
-
Öffnen Sie die Amazon Connect Connect-Konsole unter https://console.aws.amazon.com/connect/
. -
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.
-
Wählen Sie im Navigationsbereich unter Kanäle und Kommunikation die Option Ausgehende Kampagnen aus.
-
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.
-
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
-
Öffnen oder erstellen Sie einen Journey-Flow.
-
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.
-
Wählen Sie den Titel des benutzerdefinierten Aktionsblocks, um die zugehörige Eigenschaftenseite zu öffnen.
-
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.