Festlegen von Anforderungsattributen - Amazon Lex V1

Wenn Sie Amazon Lex V2 verwenden, lesen Sie stattdessen das Amazon Lex V2-Handbuch.

 

Wenn Sie Amazon Lex V1 verwenden, empfehlen wir, Ihre Bots auf Amazon Lex V2 zu aktualisieren. Wir fügen V1 keine neuen Funktionen mehr hinzu und empfehlen dringend, V2 für alle neuen Bots zu verwenden.

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.

Festlegen von Anforderungsattributen

Anforderungsattribute enthalten anforderungsspezifische Informationen und gelten nur für die aktuelle Anforderung. Eine Client-Anwendung sendet diese Informationen an Amazon Lex. Verwenden Sie Anforderungsattribute zur Weitergabe von Informationen, die nicht während der ganzen Sitzung erhalten bleiben müssen. Sie können eigene Anforderungsattribute erstellen oder vordefinierte verwenden. Zum Senden von Anforderungsattributen nutzen Sie den x-amz-lex-request-attributes-Header in einem PostContent oder das requestAttributes-Feld in einer PostText-Anforderung. Da Anforderungsattribute nicht wie Sitzungsattribute anforderungsübergreifend erhalten bleiben, werden sie nicht in PostContent- oder PostText-Antworten zurückgegeben.

Anmerkung

Nutzen Sie Sitzungsattribute, wenn Sie möchten, dass Informationen anforderungsübergreifend erhalten bleiben.

Der Namespace x-amz-lex: ist für die vordefinierten Anforderungsattribute reserviert. Erstellen Sie keine Anforderungsattribute mit dem Präfix x-amz-lex:.

Festlegen von vordefinierten Anforderungsattributen

Amazon Lex stellt vordefinierte Anforderungsattribute bereit, mit denen Sie die an Ihren Bot gesendeten Informationen verwalten können. Die Attribute bleiben nicht für die gesamte Sitzung erhalten, daher müssen Sie die vordefinierten Attribute in jede Anforderung mit einschließen. Alle vordefinierten Attribute befinden sich im Namespace x-amz-lex:.

Zusätzlich zu den folgenden vordefinierten Attributen bietet Amazon Lex vordefinierte Attribute für Messaging-Plattformen. Eine Liste dieser Attribute finden Sie unter Das Installieren eines Amazon Lex Bots auf einer Messaging-Plattform.

Einrichten des Antworttyps

Wenn Sie über zwei Client-Anwendungen mit unterschiedlichen Funktionen verfügen, müssen Sie das Format der Mitteilungen in einer Antwort möglicherweise einschränken. Beispielsweise möchten Sie die an einen Web-Client gesendeten Mitteilungen auf Klartext beschränken, einen mobilen Client jedoch befähigen, sowohl Klartext als auch Speech Synthesis Markup Language (SSML) zu verwenden. Um das Format der von den Operationen PostContent und PostText zurückgegebenen Mitteilungen einzurichten, verwenden Sie das Anforderungsattribut x-amz-lex:accept-content-types".

Sie können das Attribut auf eine beliebige Kombination der folgenden Mitteilungstypen festlegen:

  • PlainText— Die Nachricht enthält einfachen UTF-8-Text.

  • SSML— Die Nachricht enthält Text, der für die Sprachausgabe formatiert ist.

  • CustomPayload— Die Nachricht enthält ein benutzerdefiniertes Format, das Sie für Ihren Kunden erstellt haben. Sie können die Nutzlast definieren, um den Anforderungen Ihrer Anwendung zu entsprechen.

Amazon Lex gibt nur Nachrichten mit dem angegebenen Typ imMessage Feld der Antwort zurück. Sie können mehr als einen Wert festlegen, indem Sie die einzelnen Werte durch Komma trennen. Wenn Sie Mitteilungsgruppen verwenden, muss jede Mitteilungsgruppe mindestens eine Mitteilung des angegebenen Typs enthalten. Andernfalls erhalten Sie den Fehler NoUsableMessageException. Weitere Informationen finden Sie unter Mitteilungsgruppen.

Anmerkung

Das Anforderungsattribut x-amz-lex:accept-content-types hat keine Auswirkungen auf den Inhalt des HTML-Texts. Der Inhalt einer PostText-Operation ist immer UTF-8-Klartext. Der Text einer Antwort der PostContent-Operation enthält Daten in dem im Header Accept der Anforderung festgelegten Format.

Einstellen der bevorzugten Zeitzone

Nutzen Sie das Anforderungsattribut x-amz-lex:time-zone, um die Zeitzone festzulegen, die zum Auflösen von Datumsangaben verwendet wird, sodass diese relativ zur Zeitzone des Benutzers ist. Wenn Sie in dem Attribut x-amz-lex:time-zone keine Zeitzone angeben, ist der Standardwert von der Region abhängig, die Sie für Ihren Bot verwenden.

Region Standardzeitzone
USA Ost (Nord-Virginia) America/New_York
USA West (Oregon) America/Los_Angeles
Asien-Pazifik (Singapur) Asia/Singapore
Asien-Pazifik (Sydney) Australia/Sydney
Asien-Pazifik (Tokio) Asia/Tokyo
Europe (Frankfurt) Europe/Berlin
Europa (Irland) Europe/Dublin
Europe (London) Europe/London

Zum Beispiel, wenn der Benutzer als Antworttomorrow auf die Frage „An welchem Tag soll Ihr Paket geliefert werden?“ antwortet. Das tatsächliche Datum, an dem das Paket zugestellt wird, hängt von der Zeitzone des Benutzers ab. Beispiel: Wenn es in New York am 16. September 01:00 Uhr ist, ist in Los Angeles erst der 15. September und die dortige Uhrzeit ist 22:00 Uhr. Wenn Ihr Service in der Region USA Ost (Nord-Virginia) läuft und eine Person in Los Angeles ein Paket bestellt, das „morgen“ in der Standardzeitzone zugestellt werden soll, wird das Paket am 17. und nicht am 16. zugestellt. Wenn Sie jedoch das Anforderungsattribut x-amz-lex:time-zone auf America/Los_Angeles setzen, wird das Paket am 16. ausgeliefert.

Sie können das Attribut auf einen beliebigen IANA (Internet Assigned Number Authority)-Zeitzonennamen setzen. Eine Liste der Zeitzonennamen finden Sie unter dem Artikel zu der Liste der TZ-Datenbankzeitzonen auf Wikipedia.

Festlegen von benutzerdefinierten Anforderungsattributen

Ein benutzerdefiniertes Anforderungsattribut besteht aus Daten, die Sie bei jeder Anforderung an Ihren Bot senden. Sie senden die Informationen im amz-lex-request-attributes-Header einer PostContent-Anforderung oder im Feld requestAttributes einer PostText-Anforderung.

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

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

Bei der PostText-Operation fügen Sie die Zuordnung wie folgt mittels des Felds requestAttributes in den Text der Anforderung ein:

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

Bei der PostContent-Operation kodieren Sie die Zuordnung mit base64 und senden diese als x-amz-lex-request-attributes-Header.

Wenn Sie binäre oder strukturierte Daten in einem Anforderungsattribut übermitteln, müssen Sie die Daten zunächst in eine einfache Zeichenfolge transformieren. Weitere Informationen finden Sie unter Festlegen von komplexen Attributen.