Langkah 1: Membuat Fungsi Lambda - Amazon Lex V1

Jika Anda menggunakan Amazon Lex V2, lihat panduan Amazon Lex V2 sebagai gantinya.

 

Jika Anda menggunakan Amazon Lex V1, kami sarankan untuk meningkatkan bot Anda ke Amazon Lex V2. Kami tidak lagi menambahkan fitur baru ke V1 dan sangat menyarankan menggunakan V2 untuk semua bot baru.

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Langkah 1: Membuat Fungsi Lambda

Pertama, buat fungsi Lambda yang memenuhi pesanan pizza. Anda perlu menyebutkan fungsi ini di bot Amazon Lex, yang Anda buat di bagian berikutnya.

Untuk membuat fungsi Lambda

  1. Masuk ke AWS Management Console dan buka konsol AWS Lambda di https://console.aws.amazon.com/lambda/.

  2. Pilih Buat fungsi.

  3. Pilih halaman Buat fungsi, pilih Penulis dari scratch.

    Karena Anda menggunakan kode kustom yang diberikan kepada Anda dalam latihan ini untuk membuat fungsi Lambda, Anda memilih penulis fungsi dari awal.

    Lakukan hal berikut:

    1. Ketik nama (PizzaOrderProcessor).

    2. Untuk Runtime, pilih versi terbaru dari Node.js.

    3. Untuk Peran, pilih Buat peran baru dari templat.

    4. Masukkan nama peran baru (PizzaOrderProcessorRole).

    5. Pilih Buat fungsi.

  4. Di halaman fungsi, lakukan hal berikut:

    Di bagian Kode fungsi, pilih Edit kode sebaris, lalu salin kode fungsi Node.js berikut dan tempelkan 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); } };
  5. Pilih Save (Simpan).

Uji Fungsi Lambda Menggunakan Data Peristiwa Sampel

Di konsol, uji fungsi Lambda dengan menggunakan data kejadian sampel untuk memanggilnya secara manual.

Untuk menguji fungsi Lambda:
  1. Masuk ke AWS Management Console dan buka konsol AWS Lambda di https://console.aws.amazon.com/lambda/.

  2. Pada halaman fungsi Lambda, pilih fungsi Lambda (PizzaOrderProcessor).

  3. Pada halaman fungsi, dalam daftar peristiwa pengujian, pilih Konfigurasikan peristiwa pengujian.

  4. Pada halaman Konfigurasikan peristiwa pengujian, lakukan hal berikut:

    1. Pilih Buat peristiwa pengujian baru.

    2. Di bidang Nama peristiwa, masukkan nama untuk acara (PizzaOrderProcessorTest).

    3. 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" } }
  5. Pilih Create (Buat).

AWS Lambdamenciptakan tes dan Anda kembali ke halaman fungsi. Pilih Test 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." } }

Langkah Selanjutnya

Langkah 2: Buat Bot