Sitzungsattribute für Ihren Lex V2-Bot festlegen - Amazon Lex

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.

Sitzungsattribute für Ihren Lex V2-Bot festlegen

Sitzungsattribute enthalten anwendungsspezifische Informationen, die während einer Sitzung zwischen einem Bot und einer Client-Anwendung ausgetauscht werden. Amazon Lex übergibt Sitzungsattribute an alle Lambda-Funktionen, die für einen Bot konfiguriert sind. Wenn eine Lambda-Funktion Sitzungsattribute hinzufügt oder aktualisiert, gibt Amazon Lex die neuen Informationen zurück an die Client-Anwendung.

Verwenden Sie Sitzungsattribute in Ihren Lambda-Funktionen, um einen Bot zu initialisieren und Eingabeaufforderungen und Antwortkarten anzupassen. Beispielsweise:

  • Initialisierung — Bei einem Bot zur Pizzabestellung übergibt die Client-Anwendung den Standort des Benutzers als Sitzungsattribut beim ersten Aufruf der Operation oder. RecognizeTextRecognizeUtterance Beispiel, "Location": "111 Maple Street". Die Lambda-Funktion verwendet diese Informationen, um die nächstgelegene Pizzeria zu finden, in der die Bestellung aufgegeben werden kann.

  • Ansagen Personalize — Konfigurieren Sie Eingabeaufforderungen und Antwortkarten so, dass sie auf Sitzungsattribute verweisen. Zum Beispiel: „Hey [FirstName], welche Toppings hätten Sie gern?“ Wenn Sie den Vornamen des Benutzers als Sitzungsattribut ({"FirstName": "Vivian"}) übergeben, ersetzt Amazon Lex den Platzhalter durch den Namen. Es sendet dann eine personalisierte Aufforderung an den Benutzer: „Hey Vivian, welche Beläge möchtest du?“

Sitzungsattribute bleiben für die Dauer der Sitzung bestehen. Amazon Lex speichert sie bis zum Ende der Sitzung in einem verschlüsselten Datenspeicher. Der Client kann Sitzungsattribute in einer Anfrage erstellen, indem er entweder die RecognizeUtteranceOperation RecognizeTextoder aufruft, wobei das sessionAttributes Feld auf einen Wert gesetzt ist. Eine Lambda-Funktion kann in einer Antwort ein Sitzungsattribut erstellen. Nachdem der Client oder eine Lambda-Funktion ein Sitzungsattribut erstellt hat, wird der gespeicherte Attributwert immer dann verwendet, wenn die Client-Anwendung kein sessionAttribute Feld in eine Anfrage an Amazon Lex einbezieht.

Angenommen, Sie haben zwei Sitzungsattribute {"x": "1", "y": "2"}. Wenn der Client die RecognizeUtterance Operation RecognizeText or aufruft, ohne das sessionAttributes Feld anzugeben, ruft Amazon Lex die Lambda-Funktion mit den gespeicherten Sitzungsattributen ({"x": 1, "y": 2}) auf. Wenn die Lambda-Funktion keine Sitzungsattribute zurückgibt, gibt Amazon Lex die gespeicherten Sitzungsattribute an die Client-Anwendung zurück.

Wenn entweder die Client-Anwendung oder eine Lambda-Funktion Sitzungsattribute weitergibt, aktualisiert Amazon Lex die gespeicherten Sitzungsattribute. Wird ein bestehender Wert wie {"x": 2} übergeben, wird der gespeicherte Wert aktualisiert. Wenn Sie einen neuen Satz Sitzungsattribute übergeben, wie z. B. {"z": 3}, werden die vorhandenen Werte entfernt, und nur der neue Wert wird beibehalten. Wird eine leere Zuordnung, {}, übergeben, werden die gespeicherten Werte gelöscht.

Um Sitzungsattribute an Amazon Lex zu senden, erstellen Sie eine string-to-string Zuordnung der Attribute. Das folgende Beispiel zeigt, wie Sitzungsattribute zugeordnet werden:

{ "attributeName": "attributeValue", "attributeName": "attributeValue" }

Für den RecognizeText Vorgang fügen Sie die Map mithilfe des sessionAttributes Felds der sessionState Struktur wie folgt in den Hauptteil der Anfrage ein:

"sessionState": { "sessionAttributes": { "attributeName": "attributeValue", "attributeName": "attributeValue" } }

Für die RecognizeUtterance Operation kodieren Sie die Map mit Base64 und senden sie dann als Teil des x-amz-lex-session-state Headers.

Wenn Sie binäre oder strukturierte Daten in einem Sitzungsattribut übermitteln, müssen Sie die Daten zunächst in eine einfache Zeichenfolge transformieren. Weitere Informationen finden Sie unter Einstellung komplexer Attribute in Ihrem Lex V2-Bot.