Avviso di fine del supporto: il 15 settembre 2025 AWS interromperà il supporto per Amazon Lex V1. Dopo il 15 settembre 2025, non potrai più accedere alla console Amazon Lex V1 o alle risorse Amazon Lex V1. Se utilizzi Amazon Lex V2, consulta invece la guida Amazon Lex V2.
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à.
Innanzitutto, crea una funzione Lambda che soddisfi un ordine di pizza. Specifichi questa funzione nel tuo bot Amazon Lex, che creerai nella sezione successiva.
Per creare una funzione Lambda
Accedi a AWS Management Console e apri la AWS Lambda console all'indirizzo https://console.aws.amazon.com/lambda/
. -
Scegli Crea funzione.
-
Nella pagina Create function (Crea funzione), scegliere Author from scratch (Crea da zero).
Per creare una funzione Lambda si utilizzerà il codice personalizzato fornito in questo esercizio, pertanto è necessario selezionare la funzione di creazione da zero.
Esegui questa operazione:
-
Digita il nome (
PizzaOrderProcessor
). -
Per il Runtime (Runtime), scegliere la versione più recente di Node.js.
-
Seleziona Create new role from template(s) (Crea nuovo ruolo da modello/i) come Role (Ruolo).
-
Immetti un nuovo nome ruolo (
PizzaOrderProcessorRole
). -
Scegli Crea funzione.
-
-
Nella pagina function (Configura funzione) segui la procedura riportata di seguito.
Nella sezione Function code (Codice funzione) seleziona Edit code inline (Modifica codice in linea) e quindi copia e incolla il seguente codice funzione Node.js nella finestra.
'use strict'; // Close dialog with the customer, reporting fulfillmentState of Failed or Fulfilled ("Thanks, your pizza will arrive in 20 minutes") function close(sessionAttributes, fulfillmentState, message) { return { sessionAttributes, dialogAction: { type: 'Close', fulfillmentState, message, }, }; } // --------------- Events ----------------------- function dispatch(intentRequest, callback) { console.log(`request received for userId=${intentRequest.userId}, intentName=${intentRequest.currentIntent.name}`); const sessionAttributes = intentRequest.sessionAttributes; const slots = intentRequest.currentIntent.slots; const crust = slots.crust; const size = slots.size; const pizzaKind = slots.pizzaKind; callback(close(sessionAttributes, 'Fulfilled', {'contentType': 'PlainText', 'content': `Okay, I have ordered your ${size} ${pizzaKind} pizza on ${crust} crust`})); } // --------------- Main handler ----------------------- // Route the incoming request based on intent. // The JSON body of the request is provided in the event slot. export const handler = (event, context, callback) => { try { dispatch(event, (response) => { callback(null, response); }); } catch (err) { callback(err); } };
-
Seleziona Salva.
Testare la funzione Lambda utilizzando dati di evento di esempio
Nella console, prova la funzione Lambda utilizzando dati di evento di esempio per richiamarla manualmente.
Per testare la funzione Lambda:
Accedi a AWS Management Console e apri la AWS Lambda console all'indirizzo https://console.aws.amazon.com/lambda/
. -
Nella pagina della funzione Lambda, scegli la funzione Lambda (
PizzaOrderProcessor).
-
Nella pagina delle funzioni, nell'elenco degli eventi di test, seleziona Configure test events (Configura eventi di test).
-
Nella pagina Configure test event (Configura evento di test) segui la procedura riportata di seguito.
-
Scegliere Create new test event (Creare nuovo evento di test).
-
Nel campo Event name (Nome evento) immetti il nome per l'evento (
PizzaOrderProcessorTest
). -
Copia il seguente evento Amazon Lex nella finestra.
{ "messageVersion": "1.0", "invocationSource": "FulfillmentCodeHook", "userId": "user-1", "sessionAttributes": {}, "bot": { "name": "PizzaOrderingApp", "alias": "$LATEST", "version": "$LATEST" }, "outputDialogMode": "Text", "currentIntent": { "name": "OrderPizza", "slots": { "size": "large", "pizzaKind": "meat", "crust": "thin" }, "confirmationStatus": "None" } }
-
-
Scegli Create (Crea) .
AWS Lambda crea il test e torni alla pagina della funzione. Scegli Test e Lambda eseguirà la tua funzione Lambda.
Nella casella dei risultati, seleziona Details (Dettagli). Il seguente output verrà visualizzato nel riquadro Execution result (Risultato esecuzione) della console.
{
"sessionAttributes": {},
"dialogAction": {
"type": "Close",
"fulfillmentState": "Fulfilled",
"message": {
"contentType": "PlainText",
"content": "Okay, I have ordered your large meat pizza on thin crust."
}
}