Se utilizzi Amazon Lex V2, consulta invece la guida Amazon Lex V2.
Se utilizzi Amazon Lex V1, ti consigliamo di aggiornare i bot ad Amazon Lex V2. Non stiamo più aggiungendo nuove funzionalità alla V1 e consigliamo vivamente di utilizzare la V2 per tutti i nuovi bot.
Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Impostazione degli attributi di richiesta
Gli attributi di richiesta contengono informazioni specifiche sulla richiesta e si applicano solo alla richiesta corrente. Un'applicazione client invia queste informazioni ad Amazon Lex. Utilizza gli attributi di richiesta per inviare informazioni che non devono essere conservate per l'intera sessione. Puoi creare i tuoi attributi di richiesta personali oppure utilizzare quelli predefiniti. Per inviare gli attributi di richiesta, utilizza l'intestazione x-amz-lex-request-attributes
in un PostContent o il campo requestAttributes
in una richiesta PostText. Poiché, a differenza degli attributi di sessione, gli attributi di richiesta non vengono mantenuti tra richieste diverse, non vengono restituiti nelle risposte PostContent
o PostText
.
Nota
Per inviare informazioni che vengano mantenute tra richieste diverse, utilizza gli attributi di sessione.
Il namespace x-amz-lex:
è riservato agli attributi di richiesta predefiniti. Non creare attributi di richiesta con il prefisso x-amz-lex:
.
Impostazione di attributi di richiesta predefiniti
Amazon Lex fornisce attributi di richiesta predefiniti per gestire il modo in cui elabora le informazioni inviate al bot. Gli attributi non vengono salvati per l'intera sessione, quindi dovrai inviare gli attributi predefiniti in ogni richiesta. Tutti gli attributi predefiniti sono nel namespace x-amz-lex:
.
Oltre ai seguenti attributi predefiniti, Amazon Lex fornisce attributi predefiniti per le piattaforme di messaggistica. Per un elenco di questi attributi, consulta Distribuzione di un bot Amazon Lex su una piattaforma di messaggistica.
Impostazione del tipo di risposta
Se utilizzi due applicazioni client che hanno funzionalità diverse, potresti dover limitare il formato dei messaggi in una risposta. Ad esempio, potresti voler limitare i messaggi inviati a un client Web al testo normale, ma permettere a un client mobile di utilizzare sia testo normale sia il formato SSML (Speech Synthesis Markup Language). Per impostare il formato dei messaggi restituiti dalle operazioni PostContent e PostText, utilizza l'attributo di richiesta x-amz-lex:accept-content-types"
.
Puoi impostare l'attributo su una qualsiasi combinazione dei seguenti tipi di messaggi:
-
PlainText
—Il messaggio contiene testo UTF-8 semplice. -
SSML
—Il messaggio contiene testo formattato per l'output vocale. -
CustomPayload
—Il messaggio contiene un formato personalizzato che hai creato per il tuo cliente. Puoi definire il payload in base alle esigenze della tua applicazione.
Amazon Lex restituisce solo i messaggi con il tipo specificatoMessage
nel campo della risposta. Puoi impostare più di un valore separandoli con una virgola. Se utilizzi dei gruppi di messaggi, ogni gruppo di messaggi deve contenere almeno un messaggio del tipo specificato. In caso contrario, viene visualizzato un errore NoUsableMessageException
. Per ulteriori informazioni, consulta Gruppi di messaggi.
Nota
L'attributo di richiesta x-amz-lex:accept-content-types
non ha alcun effetto sul contenuto del corpo HTML. Il contenuto di una risposta dell'operazione PostText
è sempre testo normale UTF-8. Il corpo di una risposta dell'operazione PostContent
contiene dati nel formato impostato nell'intestazione Accept
nella richiesta.
Impostazione del fuso orario preferito
Per impostare il fuso orario dell'utente da utilizzare per risolvere le date, utilizza l'attributo di richiesta x-amz-lex:time-zone
. Se non specifichi un fuso orario nell'attributo x-amz-lex:time-zone
, il valore predefinito dipende della regione che utilizzi per il tuo bot.
Regione | Fuso orario predefinito |
---|---|
Stati Uniti orientali (Virginia settentrionale) |
America/New_York
|
Stati Uniti occidentali (Oregon) |
America/Los_Angeles
|
Asia Pacifico (Singapore) |
Asia/Singapore
|
Asia Pacifico (Sydney) |
Australia/Sydney
|
Asia Pacifico (Tokyo) |
Asia/Tokyo
|
Europa (Francoforte) |
Europe/Berlin
|
Europa (Irlanda) |
Europe/Dublin
|
Europa (Londra) |
Europe/London
|
Ad esempio, se l'utente risponde alla richiesta «tomorrow
In che giorno desideri che il pacco venga consegnato?» la data effettiva di consegna del pacco dipende dal fuso orario dell'utente. Ad esempio, quando sono le 02:00 del 16 settembre a New York, sono le 23:00 del 15 settembre a Los Angeles. Se il servizio è attivo nella regione degli Stati Uniti orientali (Virginia settentrionale) e una persona a Los Angeles ordina un pacco da consegnare «domani» utilizzando il fuso orario predefinito, il pacco verrà consegnato il 17, non il 16. Se invece imposti l'attributo di richiesta x-amz-lex:time-zone
su America/Los_Angeles
, il pacco verrà consegnato il giorno 16.
Puoi impostare l'attributo su uno dei nomi dei fusi orari della IANA (Internet Assigned Number Authority). Per l'elenco dei nomi dei fusi orari, consulta l'elenco dei fusi orari del database tz
Impostazione di attributi di richiesta definiti dall'utente
Un attributo di richiesta definito dall'utente è un'informazione che invii al tuo bot con ciascuna richiesta. Invii l'informazione nell'intestazione amz-lex-request-attributes
di una richiesta PostContent
o nel campo requestAttributes
di una richiesta PostText
.
Per inviare gli attributi della richiesta ad Amazon Lex, è necessario creare una string-to-string mappa degli attributi. Di seguito viene spiegato come mappare gli attributi di richiesta:
{ "attributeName": "attributeValue", "attributeName": "attributeValue" }
Per l'operazione PostText
, inserisci la mappa nel corpo della richiesta utilizzando il campo requestAttributes
, come segue:
"requestAttributes": { "attributeName": "attributeValue", "attributeName": "attributeValue" }
Per l'operazione PostContent
, applica la codifica base64 alla mappa e inviala come l'intestazione x-amz-lex-request-attributes
.
Per inviare dati binari o strutturati in un attributo di richiesta, devi dapprima trasformarli in una stringa semplice. Per ulteriori informazioni, consulta Impostazione di attributi complessi.