PostContent - 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.

PostContent

Sendet eine Benutzereingabe (Text oder Sprache) an Amazon Lex Kunden verwenden diese API, um zur Laufzeit Text- und Audioanfragen an Amazon Lex zu senden. Amazon Lex interpretiert die Benutzereingaben mithilfe des Machine-Learning-Modells, das es für den Bot entwickelt hat.

Der PostContent Vorgang unterstützt Audioeingänge bei 8 kHz und 16 kHz. Sie können 8-kHz-Audio verwenden, um eine höhere Spracherkennungsgenauigkeit in Telefonaudioanwendungen zu erreichen.

Als Antwort sendet Amazon Lex die nächste Nachricht zurück, die dem Benutzer übermittelt werden soll. Betrachten Sie die folgenden Beispielnachrichten:

  • Bei einer Benutzereingabe „Ich hätte gerne eine Pizza“ gibt Amazon Lex möglicherweise eine Antwort mit einer Nachricht zurück, die Slot-Daten ausgibt (z. B.PizzaSize): „Welche Pizzagröße möchten Sie?“.

  • Nachdem der Benutzer alle Informationen zur Pizzabestellung eingegeben hat, gibt Amazon Lex möglicherweise eine Antwort mit der Nachricht zurück, dass der Benutzer eine Bestätigung erhält: „Pizza bestellen?“.

  • Nachdem der Benutzer die Bestätigungsaufforderung mit „Ja“ beantwortet hat, gibt Amazon Lex möglicherweise eine Schlussfolgerung zurück: „Danke, Ihre Käsepizza wurde bestellt.“.

Nicht alle Amazon Lex Lex-Nachrichten erfordern eine Antwort vom Benutzer. Zum Beispiel erfordern Schlußfolgerungen keine Antwort. Einige Nachrichten erfordern nur eine Ja- oder Nein-Antwort. Darüber hinaus bietet Amazon Lex zusätzlichen Kontext zu der message Nachricht in der Antwort, den Sie verwenden können, um das Kundenverhalten zu verbessern, z. B. die Anzeige der entsprechenden Client-Benutzeroberfläche. Betrachten Sie die folgenden Beispiele:

  • Wenn die Nachricht Slot-Daten abrufen soll, gibt Amazon Lex die folgenden Kontextinformationen zurück:

    • x-amz-lex-dialog-stateHeader gesetzt auf ElicitSlot

    • x-amz-lex-intent-nameHeader, der auf den Namen der Absicht im aktuellen Kontext gesetzt ist

    • x-amz-lex-slot-to-elicitHeader, der auf den Slot-Namen gesetzt message ist, für den Informationen abgerufen werden

    • x-amz-lex-slotsHeader, der auf eine Zuordnung von Slots gesetzt ist, die für den Intent konfiguriert sind, mit ihren aktuellen Werten

  • Handelt es sich bei der Nachricht um eine Bestätigungsaufforderung, wird der x-amz-lex-dialog-state Header auf gesetzt Confirmation und der x-amz-lex-slot-to-elicit Header weggelassen.

  • Handelt es sich bei der Nachricht um eine für die Absicht konfigurierte Klarstellungsaufforderung, die darauf hinweist, dass die Benutzerabsicht nicht verstanden wurde, wird der x-amz-dialog-state Header auf gesetzt ElicitIntent und der x-amz-slot-to-elicit Header weggelassen.

Darüber hinaus sendet Amazon Lex auch Ihre sessionAttributes anwendungsspezifischen Daten zurück. Weitere Informationen finden Sie unter Konversationskontext verwalten.

Anforderungssyntax

POST /bot/botName/alias/botAlias/user/userId/content HTTP/1.1 x-amz-lex-session-attributes: sessionAttributes x-amz-lex-request-attributes: requestAttributes Content-Type: contentType Accept: accept x-amz-lex-active-contexts: activeContexts inputStream

URI-Anfrageparameter

Die Anforderung verwendet die folgenden URI-Parameter.

accept

Sie übergeben diesen Wert als Accept HTTP-Header.

Die Nachricht, die Amazon Lex in der Antwort zurückgibt, kann entweder Text oder Sprache sein, basierend auf dem Accept HTTP-Header-Wert in der Anfrage.

  • Wenn der Wert isttext/plain; charset=utf-8, gibt Amazon Lex Text in der Antwort zurück.

  • Beginnt der Wert mitaudio/, gibt Amazon Lex in der Antwort Sprache zurück. Amazon Lex verwendet Amazon Polly, um die Sprache zu generieren (mit der Konfiguration, die Sie in der Accept Kopfzeile angegeben haben). Wenn Sie beispielsweise audio/mpeg als Wert angeben, gibt Amazon Lex Sprache im MPEG-Format zurück.

  • Wenn der Wert „ist“audio/pcm, wird die zurückgegebene Sprache audio/pcm im 16-Bit-Little-Endian-Format zurückgegeben.

  • Die folgenden Werte sind zulässig:

    • Audio/mpeg

    • Audio/OGG

    • Audio/PCM

    • Text/Einfach; Zeichensatz = UTF-8

    • audio/* (standardmäßig mpeg)

activeContexts

Eine Liste von Kontexten, die für die Anfrage aktiv sind. Ein Kontext kann aktiviert werden, wenn eine vorherige Absicht erfüllt ist, oder indem der Kontext in die Anfrage aufgenommen wird.

Wenn Sie keine Liste von Kontexten angeben, verwendet Amazon Lex die aktuelle Liste der Kontexte für die Sitzung. Wenn Sie eine leere Liste angeben, werden alle Kontexte für die Sitzung gelöscht.

botAlias

Alias des Amazon Lex Lex-Bot.

Erforderlich: Ja

botName

Name des Amazon Lex Lex-Bots.

Erforderlich: Ja

contentType

Sie übergeben diesen Wert als Content-Type HTTP-Header.

Gibt das Audioformat oder den Text an. Der Header-Wert muss mit einem der folgenden Präfixe beginnen:

  • PCM-Format, Audiodaten müssen in Little-Endian-Byte-Reihenfolge vorliegen.

    • audio/l16; Rate = 16000; Kanäle = 1

    • audio/x-l16; Abtastrate = 16000; Kanalanzahl = 1

    • audio/lpcm; Abtastrate=8000; =16; Kanalzahl=1; sample-size-bits =falsch is-big-endian

  • Opus-Format

    • audio/ x-cbr-opus-with -präambel; Größe der Präambel = 0; Bitrate = 256000; =4 frame-size-milliseconds

  • Textformat

    • Text/Einfach; Zeichensatz=UTF-8

Erforderlich: Ja

requestAttributes

Sie übergeben diesen Wert als HTTP-Header. x-amz-lex-request-attributes

Anforderungsspezifische Informationen, die zwischen Amazon Lex und einer Client-Anwendung übertragen werden. Bei dem Wert muss es sich um eine serialisierte und Base64-kodierte JSON-Map mit String-Schlüsseln und Werten handeln. Die Gesamtgröße der requestAttributes sessionAttributes AND-Header ist auf 12 KB begrenzt.

Der Namespace x-amz-lex: ist für spezielle Attribute reserviert. Erstellen Sie keine Anforderungsattribute mit dem Präfixx-amz-lex:.

Weitere Informationen finden Sie unter Anforderungsattribute festlegen.

sessionAttributes

Sie übergeben diesen Wert als x-amz-lex-session-attributes HTTP-Header.

Anwendungsspezifische Informationen, die zwischen Amazon Lex und einer Client-Anwendung ausgetauscht werden. Bei dem Wert muss es sich um eine serialisierte und Base64-kodierte JSON-Map mit String-Schlüsseln und Werten handeln. Die Gesamtgröße der sessionAttributes requestAttributes AND-Header ist auf 12 KB begrenzt.

Weitere Informationen finden Sie unter Sitzungsattribute festlegen.

userId

Die ID des Benutzers der Client-Anwendung. Amazon Lex verwendet dies, um die Konversation eines Benutzers mit Ihrem Bot zu identifizieren. Zur Laufzeit muss jede Anfrage das userID Feld enthalten.

Bei der Entscheidung, welche Benutzer-ID für Ihre Anwendung verwendet werden soll, sollten Sie die folgenden Faktoren berücksichtigen.

  • Das userID Feld darf keine persönlich identifizierbaren Informationen des Benutzers enthalten, z. B. Namen, persönliche Identifikationsnummern oder andere persönliche Daten des Endbenutzers.

  • Wenn Sie möchten, dass ein Benutzer eine Konversation auf einem Gerät beginnt und auf einem anderen Gerät fortsetzt, verwenden Sie eine benutzerspezifische Kennung.

  • Wenn Sie möchten, dass derselbe Benutzer zwei unabhängige Konversationen auf zwei verschiedenen Geräten führen kann, wählen Sie eine gerätespezifische Kennung.

  • Ein Benutzer kann nicht zwei unabhängige Konversationen mit zwei verschiedenen Versionen desselben Bots führen. Beispielsweise kann ein Benutzer keine Konversation mit den PROD- und BETA-Versionen desselben Bots führen. Wenn Sie davon ausgehen, dass ein Benutzer beispielsweise beim Testen eine Konversation mit zwei verschiedenen Versionen führen muss, fügen Sie den Bot-Alias in die Benutzer-ID ein, um die beiden Konversationen voneinander zu trennen.

Längenbeschränkungen: Mindestlänge von 2. Maximale Länge beträgt 100 Zeichen.

Pattern: [0-9a-zA-Z._:-]+

Erforderlich: Ja

Anforderungstext

Die Anfrage akzeptiert die folgenden Binärdaten.

inputStream

Benutzereingaben im PCM- oder Opus-Audioformat oder im Textformat, wie im Content-Type HTTP-Header beschrieben.

Sie können Audiodaten zu Amazon Lex streamen oder einen lokalen Puffer erstellen, der alle Audiodaten vor dem Senden aufzeichnet. Im Allgemeinen erzielen Sie eine bessere Leistung, wenn Sie Audiodaten streamen, anstatt die Daten lokal zu puffern.

Erforderlich: Ja

Antwortsyntax

HTTP/1.1 200 Content-Type: contentType x-amz-lex-intent-name: intentName x-amz-lex-nlu-intent-confidence: nluIntentConfidence x-amz-lex-alternative-intents: alternativeIntents x-amz-lex-slots: slots x-amz-lex-session-attributes: sessionAttributes x-amz-lex-sentiment: sentimentResponse x-amz-lex-message: message x-amz-lex-encoded-message: encodedMessage x-amz-lex-message-format: messageFormat x-amz-lex-dialog-state: dialogState x-amz-lex-slot-to-elicit: slotToElicit x-amz-lex-input-transcript: inputTranscript x-amz-lex-encoded-input-transcript: encodedInputTranscript x-amz-lex-bot-version: botVersion x-amz-lex-session-id: sessionId x-amz-lex-active-contexts: activeContexts audioStream

Antwortelemente

Wenn die Aktion erfolgreich ist, sendet der Service eine HTTP 200-Antwort zurück.

Die Antwort gibt die folgenden HTTP-Header zurück.

activeContexts

Eine Liste der aktiven Kontexte für die Sitzung. Ein Kontext kann festgelegt werden, wenn eine Absicht erfüllt ist, oder durch Aufrufen der PutSession Operation PostContentPostText, oder.

Sie können einen Kontext verwenden, um die Absichten zu steuern, die einer Absicht folgen können, oder um den Betrieb Ihrer Anwendung zu ändern.

alternativeIntents

Ein bis vier alternative Absichten, die auf die Absicht des Benutzers zutreffen können.

Jede Alternative beinhaltet eine Bewertung, die angibt, wie sicher Amazon Lex ist, dass die Absicht mit der Absicht des Benutzers übereinstimmt. Die Absichten sind nach dem Konfidenzwert sortiert.

botVersion

Die Version des Bots, der auf die Konversation geantwortet hat. Anhand dieser Informationen können Sie feststellen, ob eine Version eines Bots besser abschneidet als eine andere Version.

Längenbeschränkungen: Minimale Länge beträgt 1 Zeichen. Maximale Länge beträgt 64 Zeichen.

Pattern: [0-9]+|\$LATEST

contentType

Inhaltstyp, wie im Accept HTTP-Header der Anfrage angegeben.

dialogState

Identifiziert den aktuellen Status der Benutzerinteraktion. Amazon Lex gibt einen der folgenden Werte als zurückdialogState. Der Kunde kann diese Informationen optional verwenden, um die Benutzeroberfläche anzupassen.

  • ElicitIntent- Amazon Lex möchte die Absicht des Benutzers ermitteln. Betrachten Sie die folgenden Beispiele:

    Beispielsweise könnte ein Benutzer eine Absicht äußern („Ich möchte eine Pizza bestellen“). Wenn Amazon Lex die Absicht des Benutzers aus dieser Äußerung nicht ableiten kann, gibt es diesen Dialogstatus zurück.

  • ConfirmIntent- Amazon Lex erwartet eine Antwort mit „Ja“ oder „Nein“.

    Amazon Lex möchte beispielsweise eine Bestätigung durch den Benutzer, bevor eine Absicht erfüllt wird. Statt einer einfachen Antwort mit „Ja“ oder „Nein“ könnte ein Benutzer mit zusätzlichen Informationen antworten. Zum Beispiel „Ja, aber mach eine Pizza mit dicker Kruste daraus“ oder „Nein, ich möchte ein Getränk bestellen“. Amazon Lex kann solche zusätzlichen Informationen verarbeiten (in diesen Beispielen aktualisieren Sie das Feld für den Krustentyp oder ändern Sie die Absicht von OrderPizza zu OrderDrink).

  • ElicitSlot- Amazon Lex erwartet den Wert eines Slots für die aktuelle Absicht.

    Nehmen wir zum Beispiel an, dass Amazon Lex in der Antwort die folgende Nachricht sendet: „Welche Pizzagröße hätten Sie gerne?“. Ein Benutzer könnte mit dem Slot-Wert antworten (z. B. „mittel“). Der Benutzer kann in der Antwort auch zusätzliche Informationen angeben (z. B. „Pizza mit mitteldicker Kruste“). Amazon Lex kann solche zusätzlichen Informationen angemessen verarbeiten.

  • Fulfilled- Übermittelt, dass die Lambda-Funktion die Absicht erfolgreich erfüllt hat.

  • ReadyForFulfillment- Vermittelt, dass der Kunde die Anfrage erfüllen muss.

  • Failed- Übermittelt, dass die Konversation mit dem Benutzer fehlgeschlagen ist.

    Dies kann verschiedene Gründe haben, z. B. weil der Benutzer nicht angemessen auf Anfragen des Service reagiert (Sie können konfigurieren, wie oft Amazon Lex einen Benutzer zur Eingabe bestimmter Informationen auffordern kann), oder wenn die Lambda-Funktion die Absicht nicht erfüllt.

Zulässige Werte: ElicitIntent | ConfirmIntent | ElicitSlot | Fulfilled | ReadyForFulfillment | Failed

encodedInputTranscript

Der Text, der zur Bearbeitung der Anfrage verwendet wurde.

Wurde ein Audio-Stream eingegeben, enthält das Feld encodedInputTranscript den aus dem Audio-Stream extrahierten Text. Dies ist der Text, der tatsächlich verarbeitet wurde, um Absichten und Slot-Werte zu erkennen. Anhand dieser Informationen können Sie feststellen, ob Amazon Lex das von Ihnen gesendete Audio korrekt verarbeitet.

Das encodedInputTranscript Feld ist Base-64-codiert. Sie müssen das Feld dekodieren, bevor Sie den Wert verwenden können.

encodedMessage

Die Nachricht, die dem Benutzer übermittelt werden soll. Die Nachricht kann aus der Konfiguration des Bots oder aus einer Lambda-Funktion stammen.

Wenn die Absicht nicht mit einer Lambda-Funktion konfiguriert ist oder wenn die Lambda-Funktion Delegate als Antwort zurückgegeben wurde, entscheidet Amazon Lex über die nächste Vorgehensweise und wählt auf der Grundlage des aktuellen Interaktionskontextes eine entsprechende Nachricht aus der Konfiguration des Bots aus. dialogAction.type Wenn Amazon Lex beispielsweise Benutzereingaben nicht verstehen kann, verwendet es eine Klarstellungsaufforderung.

Wenn Sie eine Absicht erstellen, können Sie Nachrichten Gruppen zuweisen. Wenn Nachrichten Gruppen zugewiesen werden, gibt Amazon Lex in der Antwort eine Nachricht von jeder Gruppe zurück. Das Nachrichtenfeld ist eine maskierte JSON-Zeichenfolge, die die Nachrichten enthält. Weitere Hinweise zur Struktur der zurückgegebenen JSON-Zeichenfolge finden Sie unterUnterstützte Mitteilungsformate.

Wenn die Lambda-Funktion eine Nachricht zurückgibt, leitet Amazon Lex sie in seiner Antwort an den Client weiter.

Das encodedMessage Feld ist Base-64-codiert. Sie müssen das Feld dekodieren, bevor Sie den Wert verwenden können.

Längenbeschränkungen: Minimale Länge beträgt 1 Zeichen. Die maximale Länge beträgt 1366.

inputTranscript

Dieser Header ist veraltet.

Der Text, der zur Bearbeitung der Anfrage verwendet wurde.

Sie können dieses Feld nur in den Gebietsschemas de-DE, en-AU, en-GB, en-US, es-419, es-ES, es-US, fr-CA, fr-FR und it-IT verwenden. inputTranscriptIn allen anderen Gebietsschemas ist das Feld Null. Sie sollten stattdessen das encodedInputTranscript Feld verwenden.

Wurde ein Audio-Stream eingegeben, enthält das Feld inputTranscript den aus dem Audio-Stream extrahierten Text. Dies ist der Text, der tatsächlich verarbeitet wurde, um Absichten und Slot-Werte zu erkennen. Anhand dieser Informationen können Sie feststellen, ob Amazon Lex das von Ihnen gesendete Audio korrekt verarbeitet.

intentName

Aktuelle Benutzerabsicht, die Amazon Lex bekannt ist.

message

Dieser Header ist veraltet.

Sie können dieses Feld nur in den Gebietsschemas de-DE, en-AU, en-GB, en-US, es-419, es-ES, es-US, fr-CA, fr-FR und it-IT verwenden. messageIn allen anderen Gebietsschemas ist das Feld Null. Sie sollten stattdessen das encodedMessage Feld verwenden.

Die Nachricht, die dem Benutzer übermittelt werden soll. Die Nachricht kann aus der Konfiguration des Bots oder aus einer Lambda-Funktion stammen.

Wenn die Absicht nicht mit einer Lambda-Funktion konfiguriert ist oder wenn die Lambda-Funktion Delegate als Antwort zurückgegeben wurde, entscheidet Amazon Lex über die nächste Vorgehensweise und wählt auf der Grundlage des aktuellen Interaktionskontextes eine entsprechende Nachricht aus der Konfiguration des Bots aus. dialogAction.type Wenn Amazon Lex beispielsweise Benutzereingaben nicht verstehen kann, verwendet es eine Klarstellungsaufforderung.

Wenn Sie eine Absicht erstellen, können Sie Nachrichten Gruppen zuweisen. Wenn Nachrichten Gruppen zugewiesen werden, gibt Amazon Lex in der Antwort eine Nachricht von jeder Gruppe zurück. Das Nachrichtenfeld ist eine maskierte JSON-Zeichenfolge, die die Nachrichten enthält. Weitere Hinweise zur Struktur der zurückgegebenen JSON-Zeichenfolge finden Sie unterUnterstützte Mitteilungsformate.

Wenn die Lambda-Funktion eine Nachricht zurückgibt, leitet Amazon Lex sie in seiner Antwort an den Client weiter.

Längenbeschränkungen: Minimale Länge beträgt 1 Zeichen. Maximale Länge beträgt 1024 Zeichen.

messageFormat

Das Format der Antwortnachricht. Einer der folgenden Werte:

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

  • CustomPayload- Die Nachricht ist ein benutzerdefiniertes Format für den Client.

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

  • Composite- Die Nachricht enthält ein maskiertes JSON-Objekt, das eine oder mehrere Nachrichten aus den Gruppen enthält, denen die Nachrichten bei der Erstellung der Absicht zugewiesen wurden.

Zulässige Werte: PlainText | CustomPayload | SSML | Composite

nluIntentConfidence

Stellt eine Bewertung bereit, die angibt, wie sicher Amazon Lex ist, dass die zurückgegebene Absicht der Absicht des Benutzers entspricht. Die Punktzahl liegt zwischen 0,0 und 1,0.

Die Punktzahl ist eine relative Punktzahl, keine absolute Punktzahl. Die Punktzahl kann sich aufgrund von Verbesserungen an Amazon Lex ändern.

sentimentResponse

Das in einer Äußerung zum Ausdruck gebrachte Gefühl.

Wenn der Bot so konfiguriert ist, dass er Äußerungen zur Stimmungsanalyse an Amazon Comprehend sendet, enthält dieses Feld das Ergebnis der Analyse.

sessionAttributes

Karte von Schlüssel/Wert-Paaren, die die sitzungsspezifischen Kontextinformationen darstellen.

sessionId

Die eindeutige Kennung für die Sitzung.

slots

Zuordnung von null oder mehr Intent-Slots (Name/Wert-Paare), die Amazon Lex anhand der Benutzereingabe während der Konversation erkannt hat. Das Feld ist Base-64-codiert.

Amazon Lex erstellt eine Auflösungsliste mit wahrscheinlichen Werten für einen Slot. Der zurückgegebene Wert wird durch den valueSelectionStrategy ausgewählten Slot-Typ bestimmt, der bei der Erstellung oder Aktualisierung des Slot-Typs ausgewählt wurde. Wenn auf gesetzt valueSelectionStrategy istORIGINAL_VALUE, wird der vom Benutzer angegebene Wert zurückgegeben, wenn der Benutzerwert den Slot-Werten ähnelt. Wenn auf TOP_RESOLUTION Amazon Lex gesetzt valueSelectionStrategy ist, wird der erste Wert in der Auflösungsliste zurückgegeben oder, falls es keine Auflösungsliste gibt, Null. Wenn Sie kein a angebenvalueSelectionStrategy, ist die StandardeinstellungORIGINAL_VALUE.

slotToElicit

Wenn der dialogState Wert istElicitSlot, wird der Name des Slots zurückgegeben, für den Amazon Lex einen Wert ermittelt.

Die Antwort gibt folgendes als HTTP-Hauptteil zurück.

audioStream

Die Aufforderung (oder Aussage), die dem Benutzer übermittelt werden soll. Dies basiert auf der Konfiguration und dem Kontext des Bots. Wenn Amazon Lex beispielsweise die Benutzerabsicht nicht verstanden hat, sendet es die für den Bot clarificationPrompt konfigurierten. Wenn die Absicht bestätigt werden muss, bevor die Erfüllungsaktion ausgeführt werden kann, sendet es dieconfirmationPrompt. Ein anderes Beispiel: Angenommen, die Lambda-Funktion hat die Absicht erfolgreich erfüllt und eine Nachricht zur Übermittlung an den Benutzer gesendet. Dann sendet Amazon Lex diese Nachricht in der Antwort.

Fehler

BadGatewayException

Entweder wird der Amazon Lex Lex-Bot noch erstellt, oder einer der abhängigen Dienste (Amazon Polly, AWS Lambda) ist mit einem internen Servicefehler ausgefallen.

HTTP-Statuscode: 502

BadRequestException

Die Überprüfung der Anfrage ist fehlgeschlagen, es gibt keine brauchbare Nachricht im Kontext, oder der Bot-Build ist fehlgeschlagen, ist noch in Bearbeitung oder enthält noch nicht erstellte Änderungen.

HTTP Status Code: 400

ConflictException

Zwei Kunden verwenden dasselbe AWS-Konto, denselben Amazon Lex Lex-Bot und dieselbe Benutzer-ID.

HTTP-Statuscode: 409

DependencyFailedException

Eine der Abhängigkeiten, wie AWS Lambda oder Amazon Polly, hat eine Ausnahme ausgelöst. Zum Beispiel

  • Wenn Amazon Lex nicht über ausreichende Berechtigungen verfügt, um eine Lambda-Funktion aufzurufen.

  • Wenn die Ausführung einer Lambda-Funktion länger als 30 Sekunden dauert.

  • Wenn eine Fulfillment-Lambda-Funktion eine Delegate Dialogaktion zurückgibt, ohne Slot-Werte zu entfernen.

HTTP-Statuscode: 424

InternalFailureException

Interner Dienstfehler. Versuchen Sie den Anruf erneut.

HTTP Status Code: 500

LimitExceededException

Ein Limit wurde überschritten.

HTTP-Statuscode: 429

LoopDetectedException

Diese Ausnahme wird nicht verwendet.

HTTP-Statuscode: 508

NotAcceptableException

Der Accept-Header in der Anfrage hat keinen gültigen Wert.

HTTP-Statuscode: 406

NotFoundException

Die Ressource (z. B. der Amazon Lex Lex-Bot oder ein Alias), auf die verwiesen wird, wurde nicht gefunden.

HTTP Status Code: 404

RequestTimeoutException

Die Eingabesprache ist zu lang.

HTTP-Statuscode: 408

UnsupportedMediaTypeException

Der Content-Type-Header (PostContentAPI) hat einen ungültigen Wert.

HTTP-Statuscode: 415

Beispiele

Beispiel 1

In dieser Anfrage identifiziert der URI einen Bot (Traffic), eine Bot-Version ($LATEST) und einen Endbenutzernamen (someuser). Der Content-Type Header identifiziert das Format des Audios im Hauptteil. Amazon Lex unterstützt auch andere Formate. Um Audio bei Bedarf von einem Format in ein anderes zu konvertieren, können Sie die Open-Source-Software SoX verwenden. Sie geben das Format an, in dem Sie die Antwort erhalten möchten, indem Sie den Accept HTTP-Header hinzufügen.

In der Antwort zeigt der x-amz-lex-message Header die Antwort, die Amazon Lex zurückgegeben hat. Der Client kann diese Antwort dann an den Benutzer senden. Dieselbe Nachricht wird im Audio/MPEG-Format durch Blockcodierung (wie gewünscht) gesendet.

Beispielanforderung

"POST /bot/Traffic/alias/$LATEST/user/someuser/content HTTP/1.1[\r][\n]" "x-amz-lex-session-attributes: eyJ1c2VyTmFtZSI6IkJvYiJ9[\r][\n]" "Content-Type: audio/x-l16; channel-count=1; sample-rate=16000f[\r][\n]" "Accept: audio/mpeg[\r][\n]" "Host: runtime.lex.us-east-1.amazonaws.com[\r][\n]" "Authorization: AWS4-HMAC-SHA256 Credential=BLANKED_OUT/20161230/us-east-1/lex/aws4_request, SignedHeaders=accept;content-type;host;x-amz-content-sha256;x-amz-date;x-amz-lex-session-attributes, Signature=78ca5b54ea3f64a17ff7522de02cd90a9acd2365b45a9ce9b96ea105bb1c7ec2[\r][\n]" "X-Amz-Date: 20161230T181426Z[\r][\n]" "X-Amz-Content-Sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855[\r][\n]" "Transfer-Encoding: chunked[\r][\n]" "Connection: Keep-Alive[\r][\n]" "User-Agent: Apache-HttpClient/4.5.x (Java/1.8.0_112)[\r][\n]" "Accept-Encoding: gzip,deflate[\r][\n]" "[\r][\n]" "1000[\r][\n]" "[0x7][0x0][0x7][0x0][\n]" "[0x0][0x7][0x0][0xfc][0xff][\n]" "[0x0][\n]" …

Beispielantwort

"HTTP/1.1 200 OK[\r][\n]" "x-amzn-RequestId: cc8b34af-cebb-11e6-a35c-55f3a992f28d[\r][\n]" "x-amz-lex-message: Sorry, can you repeat that?[\r][\n]" "x-amz-lex-dialog-state: ElicitIntent[\r][\n]" "x-amz-lex-session-attributes: eyJ1c2VyTmFtZSI6IkJvYiJ9[\r][\n]" "Content-Type: audio/mpeg[\r][\n]" "Transfer-Encoding: chunked[\r][\n]" "Date: Fri, 30 Dec 2016 18:14:28 GMT[\r][\n]" "[\r][\n]" "2000[\r][\n]" "ID3[0x4][0x0][0x0][0x0][0x0][0x0]#TSSE[0x0][0x0][0x0][0xf][0x0][0x0][0x3]Lavf57.41.100[0x0][0x0][0x0][0x0][0x0][0x0][0x0][0x0][0x0][0x0][0x0][0xff][0xf3]`[0xc4][0x0][0x1b]{[0x8d][0xe8][0x1]C[0x18][0x1][0x0]J[0xe0]`b[0xdd][0xd1][0xb][0xfd][0x11][0xdf][0xfe]";[0xbb][0xbb][0x9f][0xee][0xee][0xee][0xee]|DDD/[0xff][0xff][0xff][0xff]www?D[0xf7]w^?[0xff][0xfa]h[0x88][0x85][0xfe][0x88][0x88][0x88][[0xa2]'[0xff][0xfa]"{[0x9f][0xe8][0x88]]D[0xeb][0xbb][0xbb][0xa2]!u[0xfd][0xdd][0xdf][0x88][0x94][0x0]F[0xef][0xa1]8[0x0][0x82]w[0x88]N[0x0][0x0][0x9b][0xbb][0xe8][0xe …

Weitere Informationen finden Sie unter:

Weitere Informationen zur Verwendung dieser API in einem der AWS sprachspezifischen SDKs finden Sie im Folgenden: