

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](https://docs.aws.amazon.com/lexv2/latest/dg/what-is.html) 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
<a name="gs2-prepare"></a>

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**



1. Masuk ke Konsol Manajemen AWS dan buka AWS Lambda konsol di [https://console.aws.amazon.com/lambda/](https://console.aws.amazon.com/lambda/).

1. Pilih **Buat fungsi**.

1. 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:

   1. Ketik nama (`PizzaOrderProcessor`).

   1. Untuk **Runtime**, pilih versi terbaru dari Node.js.

   1. Untuk **Peran**, pilih **Buat peran baru dari templat**.

   1. Masukkan nama peran baru (`PizzaOrderProcessorRole`).

   1. Pilih **Buat fungsi**.

1. 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);
       }
   };
   ```

1. Pilih **Simpan**.

## Uji Fungsi Lambda Menggunakan Contoh Data Peristiwa
<a name="gs2-lambdafunction-test"></a>

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

**Untuk menguji fungsi Lambda:**

1. Masuk ke Konsol Manajemen AWS dan buka AWS Lambda konsol di [https://console.aws.amazon.com/lambda/](https://console.aws.amazon.com/lambda/).

1. Pada halaman **fungsi Lambda, pilih fungsi** Lambda (`PizzaOrderProcessor).`

1. Pada halaman fungsi, dalam daftar peristiwa pengujian, pilih **Konfigurasi peristiwa pengujian**.

1. Pada halaman **Configure test event**, lakukan hal berikut: 

   1. Pilih **Buat peristiwa pengujian baru**.

   1. Di bidang **Nama acara**, masukkan nama untuk acara (`PizzaOrderProcessorTest`).

   1. 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"
        }
      }
      ```

1. 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."
    }
}
```

## Langkah Selanjutnya
<a name="gs2-next-step-create-bot"></a>

[Langkah 2: Buat Bot](gs2-create-bot.md)