Pemberitahuan akhir dukungan: Pada 15 September 2025, AWS akan menghentikan dukungan untuk Amazon Lex V1. Setelah 15 September 2025, Anda tidak lagi dapat mengakses konsol Amazon Lex V1 atau sumber daya Amazon Lex V1. Jika Anda menggunakan Amazon Lex V2, lihat panduan Amazon Lex V2 sebagai gantinya.
Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Langkah 1: Buat Fungsi Lambda
Pertama, buat fungsi Lambda yang memenuhi pesanan pizza. Anda menentukan fungsi ini di bot Amazon Lex Anda, yang Anda buat di bagian berikutnya.
Untuk membuat fungsi Lambda
Masuk ke AWS Management Console dan buka AWS Lambda konsol di https://console.aws.amazon.com/lambda/
. -
Pilih Buat fungsi.
-
Pilih halaman Buat fungsi, pilih Penulis dari scratch.
Karena Anda menggunakan kode khusus yang diberikan kepada Anda dalam latihan ini untuk membuat fungsi Lambda, Anda memilih penulis fungsi dari awal.
Lakukan hal-hal berikut:
-
Ketik nama (
PizzaOrderProcessor
). -
Untuk Runtime, pilih versi terbaru dari Node.js.
-
Untuk Peran, pilih Buat peran baru dari templat.
-
Masukkan nama peran baru (
PizzaOrderProcessorRole
). -
Pilih Buat fungsi.
-
-
Di halaman fungsi, lakukan hal berikut:
Di bagian Kode fungsi, pilih Edit kode sebaris, lalu salin kode fungsi Node.js berikut dan tempel di jendela.
'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); } };
-
Pilih Simpan.
Uji Fungsi Lambda Menggunakan Contoh Data Peristiwa
Di konsol, uji fungsi Lambda dengan menggunakan data peristiwa sampel untuk memanggilnya secara manual.
Untuk menguji fungsi Lambda:
Masuk ke AWS Management Console dan buka AWS Lambda konsol di https://console.aws.amazon.com/lambda/
. -
Pada halaman fungsi Lambda, pilih fungsi Lambda (
PizzaOrderProcessor).
-
Pada halaman fungsi, dalam daftar peristiwa pengujian, pilih Konfigurasi peristiwa pengujian.
-
Pada halaman Configure test event, lakukan hal berikut:
-
Pilih Buat peristiwa pengujian baru.
-
Di bidang Nama acara, masukkan nama untuk acara (
PizzaOrderProcessorTest
). -
Salin acara Amazon Lex berikut ke jendela.
{ "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" } }
-
-
Pilih Buat.
AWS Lambda membuat tes dan Anda kembali ke halaman fungsi. Pilih Uji dan Lambda menjalankan fungsi Lambda Anda.
Di kotak hasil, pilih Detail. Konsol menampilkan output berikut di panel Hasil eksekusi.
{
"sessionAttributes": {},
"dialogAction": {
"type": "Close",
"fulfillmentState": "Fulfilled",
"message": {
"contentType": "PlainText",
"content": "Okay, I have ordered your large meat pizza on thin crust."
}
}