Sitzungsattribute einrichten - 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 einrichten

Sitzungsattribute enthalten anwendungsspezifische Informationen, die während einer Sitzung zwischen einem Bot und einer Client-Anwendung weitergegeben 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 an die Client-Anwendung zurück.

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

  • Initialisierung — In einem Bot für die Pizzabestellung übergibt die Client-Anwendung den Standort des Benutzers als Sitzungsattribut beim ersten Aufruf an den RecognizeTextRecognizeUtteranceOR-Vorgang. Zum Beispiel "Location": "111 Maple Street". Die Lambda-Funktion verwendet diese Informationen, um die nächstgelegene Pizzeria zu finden, um die Bestellung aufzugeben.

  • Eingabeaufforderungen personalisieren — Konfigurieren Sie Eingabeaufforderungen und Antwortkarten so, dass sie auf Sitzungsattribute verweisen. Zum Beispiel: „Hey [FirstName], welche Toppings hättest du gerne?“ Wenn Sie den Vornamen des Benutzers als Sitzungsattribut ({"FirstName": "Vivian"}) übergeben, ersetzt Amazon Lex den Platzhalter durch den Namen. Anschließend wird dem Benutzer eine personalisierte Aufforderung gesendet: „Hey Vivian, welche Toppings möchtest du?“

Sitzungsattribute bleiben für die Dauer der Sitzung bestehen. Amazon Lex speichert sie in einem verschlüsselten Datenspeicher, bis die Sitzung endet. 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 jedes Mal verwendet, wenn die Client-Anwendung kein sessionAttribute Feld in eine Anfrage an Amazon Lex einfügt.

Angenommen, Sie haben zwei Sitzungsattribute {"x": "1", "y": "2"}. Wenn der Client die RecognizeUtterance Operation RecognizeText oder 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 übergibt, 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 Map der Attribute. Das folgende Beispiel zeigt, wie Sitzungsattribute zugeordnet werden:

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

Für die RecognizeText Operation 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 Festlegen komplexer Attribute.