

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.

# Menggunakan Fungsi Lambda
<a name="using-lambda"></a>

Anda dapat membuat AWS Lambda fungsi untuk digunakan sebagai kait kode untuk bot Amazon Lex Anda. Anda dapat mengidentifikasi fungsi Lambda untuk melakukan inisialisasi dan validasi, pemenuhan, atau keduanya dalam konfigurasi intent Anda.

Kami menyarankan Anda menggunakan fungsi Lambda sebagai pengait kode untuk bot Anda. Tanpa fungsi Lambda, bot Anda mengembalikan informasi maksud ke aplikasi klien untuk pemenuhan. 



**Topics**
+ [Peristiwa Input Fungsi Lambda dan Format Respons](lambda-input-response-format.md)
+ [Amazon Lex dan AWS Lambda Cetak Biru](lex-lambda-blueprints.md)

# Peristiwa Input Fungsi Lambda dan Format Respons
<a name="lambda-input-response-format"></a>

Bagian ini menjelaskan struktur data peristiwa yang disediakan Amazon Lex ke fungsi Lambda. Gunakan informasi ini untuk mengurai masukan dalam kode Lambda Anda. Ini juga menjelaskan format respons yang Amazon Lex harapkan fungsi Lambda Anda kembali. 

**Topics**
+ [Format Peristiwa Masukan](#using-lambda-input-event-format)
+ [Format Respons](#using-lambda-response-format)

## Format Peristiwa Masukan
<a name="using-lambda-input-event-format"></a>

Berikut ini menunjukkan format umum acara Amazon Lex yang diteruskan ke fungsi Lambda. Gunakan informasi ini saat Anda menulis fungsi Lambda Anda.

**catatan**  
Format input dapat berubah tanpa perubahan yang sesuai dalam format`messageVersion`. Kode Anda seharusnya tidak menimbulkan kesalahan jika ada bidang baru.

```
{
  "currentIntent": {
    "name": "intent-name",
    "nluIntentConfidenceScore": score,
    "slots": {
      "slot name": "value",
      "slot name": "value"
    },
    "slotDetails": {
      "slot name": {
        "resolutions" : [
          { "value": "resolved value" },
          { "value": "resolved value" }
        ],
        "originalValue": "original text"
      },
      "slot name": {
        "resolutions" : [
          { "value": "resolved value" },
          { "value": "resolved value" }
        ],
        "originalValue": "original text"
      }
    },
    "confirmationStatus": "None, Confirmed, or Denied (intent confirmation, if configured)"
  },
  "alternativeIntents": [
    {
      "name": "intent-name",
      "nluIntentConfidenceScore": score,
      "slots": {
        "slot name": "value",
        "slot name": "value"
      },
      "slotDetails": {
        "slot name": {
          "resolutions" : [
            { "value": "resolved value" },
            { "value": "resolved value" }
          ],
          "originalValue": "original text"
        },
        "slot name": {
          "resolutions" : [
            { "value": "resolved value" },
            { "value": "resolved value" }
          ],
          "originalValue": "original text"
        }
      },
      "confirmationStatus": "None, Confirmed, or Denied (intent confirmation, if configured)"
    }
  ],
  "bot": {
    "name": "bot name",
    "alias": "bot alias",
    "version": "bot version"
  },
  "userId": "User ID specified in the POST request to Amazon Lex.",
  "inputTranscript": "Text used to process the request",
  "invocationSource": "FulfillmentCodeHook or DialogCodeHook",
  "outputDialogMode": "Text or Voice, based on ContentType request header in runtime API request",
  "messageVersion": "1.0",
  "sessionAttributes": { 
     "key": "value",
     "key": "value"
  },
  "requestAttributes": { 
     "key": "value",
     "key": "value"
  },
  "recentIntentSummaryView": [
    {
        "intentName": "Name",
        "checkpointLabel": Label,
        "slots": {
          "slot name": "value",
          "slot name": "value"
        },
        "confirmationStatus": "None, Confirmed, or Denied (intent confirmation, if configured)",
        "dialogActionType": "ElicitIntent, ElicitSlot, ConfirmIntent, Delegate, or Close",
        "fulfillmentState": "Fulfilled or Failed",
        "slotToElicit": "Next slot to elicit"
    }
  ],
   "sentimentResponse": { 
      "sentimentLabel": "sentiment",
      "sentimentScore": "score"
   },
   "kendraResponse": {
       Complete query response from Amazon Kendra
   },
   "activeContexts": [
        {
            "timeToLive": {
                "timeToLiveInSeconds": seconds,
                "turnsToLive": turns
            },
            "name": "name",
            "parameters": {
                "key name": "value"
            }
        }
    ]
}
```

Perhatikan informasi tambahan berikut tentang bidang acara:
+ **currentIntent** — Menyediakan maksud,, dan bidang. `name` `slots` `slotDetails` `confirmationStatus`

   

  `nluIntentConfidenceScore`adalah keyakinan yang dimiliki Amazon Lex bahwa maksud saat ini adalah yang paling cocok dengan maksud pengguna saat ini.

   

  `slots`adalah peta nama slot, dikonfigurasi untuk maksud, ke nilai slot yang telah dikenali Amazon Lex dalam percakapan pengguna. Nilai slot tetap nol sampai pengguna memberikan nilai. 

   

  Nilai slot dalam acara input mungkin tidak cocok dengan salah satu nilai yang dikonfigurasi untuk slot. Misalnya, jika pengguna menanggapi prompt “Mobil warna apa yang Anda inginkan?” dengan “pizza,” Amazon Lex akan mengembalikan “pizza” sebagai nilai slot. Fungsi Anda harus memvalidasi nilai untuk memastikan bahwa nilai tersebut masuk akal dalam konteks.

   

  `slotDetails`memberikan informasi tambahan tentang nilai slot. `resolutions`Array berisi daftar nilai tambahan yang dikenali untuk slot. Setiap slot dapat memiliki maksimal lima nilai.

   

  `originalValue`Bidang berisi nilai yang dimasukkan oleh pengguna untuk slot. Ketika jenis slot dikonfigurasi untuk mengembalikan nilai resolusi teratas sebagai nilai slot, `originalValue` mungkin berbeda dari nilai di `slots` bidang.

   

  `confirmationStatus`memberikan respons pengguna terhadap prompt konfirmasi, jika ada. Misalnya, jika Amazon Lex bertanya, “Apakah Anda ingin memesan pizza keju besar? ,” tergantung pada respons pengguna, nilai bidang ini bisa `Confirmed` atau`Denied`. Jika tidak, nilai bidang ini adalah`None`. 

   

  Jika pengguna mengonfirmasi maksud, Amazon Lex menyetel bidang ini ke`Confirmed`. Jika pengguna menyangkal maksud tersebut, Amazon Lex menetapkan nilai ini ke. `Denied`

   

  Dalam tanggapan konfirmasi, ucapan pengguna mungkin memberikan pembaruan slot. Misalnya, pengguna mungkin mengatakan “ya, ubah ukuran menjadi sedang.” Dalam hal ini, acara Lambda berikutnya memiliki nilai slot yang diperbarui, `PizzaSize` disetel ke. `medium` Amazon Lex menetapkan `confirmationStatus` ke`None`, karena pengguna memodifikasi beberapa data slot, memerlukan fungsi Lambda untuk melakukan validasi data pengguna.

   
+ **AlternativeIntents** — Jika Anda mengaktifkan skor kepercayaan, Amazon Lex mengembalikan hingga empat maksud alternatif. Setiap intent menyertakan skor yang menunjukkan tingkat kepercayaan yang dimiliki Amazon Lex bahwa maksud tersebut adalah maksud yang benar berdasarkan ucapan pengguna. 

   

  Isi dari maksud alternatif sama dengan isi `currentIntent` lapangan. Untuk informasi selengkapnya, lihat [Menggunakan Skor Keyakinan](confidence-scores.md).

   
+ **bot** — Informasi tentang bot yang memproses permintaan.
  + `name`— Nama bot yang memproses permintaan.
  + `alias`— Alias versi bot yang memproses permintaan.
  + `version`— Versi bot yang memproses permintaan.

   
+ **UserID** — Nilai ini disediakan oleh aplikasi klien. Amazon Lex meneruskannya ke fungsi Lambda. 

   
+ **InputTranscript** — Teks yang digunakan untuk memproses permintaan.

  Jika input adalah teks, `inputTranscript` bidang berisi teks yang dimasukkan oleh pengguna.

   

  Jika input adalah aliran audio, `inputTranscript` bidang berisi teks yang diekstrak dari aliran audio. Ini adalah teks yang sebenarnya diproses untuk mengenali maksud dan nilai slot. 

   
+ **InvocationSource** - Untuk menunjukkan mengapa Amazon Lex menjalankan fungsi Lambda, ia menetapkan ini ke salah satu nilai berikut: 
  + `DialogCodeHook`— Amazon Lex menetapkan nilai ini untuk mengarahkan fungsi Lambda untuk menginisialisasi fungsi dan untuk memvalidasi input data pengguna. 

     

    Ketika intent dikonfigurasi untuk menjalankan fungsi Lambda sebagai pengait kode inisialisasi dan validasi, Amazon Lex memanggil fungsi Lambda yang ditentukan pada setiap input (ucapan) pengguna setelah Amazon Lex memahami maksud tersebut. 
**catatan**  
Jika maksudnya tidak jelas, Amazon Lex tidak dapat menjalankan fungsi Lambda.

     
  + `FulfillmentCodeHook`— Amazon Lex menetapkan nilai ini untuk mengarahkan fungsi Lambda untuk memenuhi maksud.

     

    Jika intent dikonfigurasi untuk menjalankan fungsi Lambda sebagai hook kode pemenuhan, Amazon Lex menetapkan nilai ini hanya setelah memiliki semua data slot `invocationSource` untuk memenuhi maksud. 

     

  Dalam konfigurasi intent, Anda dapat memiliki dua fungsi Lambda terpisah untuk menginisialisasi dan memvalidasi data pengguna dan memenuhi intent. Anda juga dapat menggunakan satu fungsi Lambda untuk melakukan keduanya. Dalam hal ini, fungsi Lambda Anda dapat menggunakan `invocationSource` nilai untuk mengikuti jalur kode yang benar.

    
+ **outputDialogMode**— Untuk setiap input pengguna, klien mengirimkan permintaan ke Amazon Lex menggunakan salah satu operasi API runtime, [PostContent](API_runtime_PostContent.md) atau[PostText](API_runtime_PostText.md). Amazon Lex menggunakan parameter permintaan untuk menentukan apakah respons terhadap klien adalah teks atau suara, dan menetapkan bidang ini sesuai.

   

  Fungsi Lambda dapat menggunakan informasi ini untuk menghasilkan pesan yang sesuai. Misalnya, jika klien mengharapkan respons suara, fungsi Lambda Anda dapat menampilkan Speech Synthesis Markup Language (SSML) alih-alih teks.

   
+ **MessageVersion** — Versi pesan yang mengidentifikasi format data peristiwa yang masuk ke fungsi Lambda dan format respons yang diharapkan dari fungsi Lambda. 
**catatan**  
Anda mengonfigurasi nilai ini saat menentukan maksud. Dalam implementasi saat ini, hanya pesan versi 1.0 yang didukung. Oleh karena itu, konsol mengasumsikan nilai default 1.0 dan tidak menampilkan versi pesan.
+ **SessionAttributes** — Atribut sesi khusus aplikasi yang dikirimkan klien dalam permintaan. Jika Anda ingin Amazon Lex memasukkannya ke dalam respons terhadap klien, fungsi Lambda Anda harus mengirimkannya kembali ke Amazon Lex sebagai tanggapan. Untuk informasi selengkapnya, lihat [Mengatur Atribut Sesi](context-mgmt-session-attribs.md)

   
+ **RequestAttributes** - Atribut khusus permintaan yang dikirim klien dalam permintaan. Gunakan atribut permintaan untuk meneruskan informasi yang tidak perlu bertahan selama seluruh sesi. Jika tidak ada atribut permintaan, nilainya akan menjadi null. Untuk informasi selengkapnya, lihat [Mengatur Atribut Permintaan](context-mgmt-request-attribs.md)

   
+ **recentIntentSummaryLihat** — Informasi tentang keadaan suatu niat. Anda dapat melihat informasi tentang tiga maksud terakhir yang digunakan. Anda dapat menggunakan informasi ini untuk menetapkan nilai dalam intent atau kembali ke intent sebelumnya. Untuk informasi selengkapnya, lihat [Mengelola Sesi Dengan Amazon Lex API](how-session-api.md).

   
+ **SentimentResponse** — Hasil analisis sentimen Amazon Comprehend dari ucapan terakhir. Anda dapat menggunakan informasi ini untuk mengelola alur percakapan bot Anda tergantung pada sentimen yang diungkapkan oleh pengguna. Untuk informasi selengkapnya, lihat [Analisis Sentimen](sentiment-analysis.md). 

   
+ **KendrareSponse** — Hasil kueri ke indeks Amazon Kendra. Hanya ada dalam input ke hook kode pemenuhan dan hanya ketika intent memperluas intent bawaan. `AMAZON.KendraSearchIntent` Bidang berisi seluruh respons dari pencarian Amazon Kendra. Untuk informasi selengkapnya, lihat [AMAZON.KendraSearchIntent](built-in-intent-kendra-search.md).

   
+ **ActiveContext** - Satu atau lebih konteks yang aktif selama pergantian percakapan dengan pengguna ini.
  + **timeToLive**— Lamanya waktu atau jumlah putaran dalam percakapan dengan pengguna yang konteksnya tetap aktif.
  + **nama** — nama konteksnya.
  + **parameter** daftar key/value pasangan berisi nama dan nilai slot dari maksud yang mengaktifkan konteks.

  Untuk informasi selengkapnya, lihat [Mengatur Konteks Maksud](context-mgmt-active-context.md).

## Format Respons
<a name="using-lambda-response-format"></a>

Amazon Lex mengharapkan respons dari fungsi Lambda dalam format berikut:

```
{
  "sessionAttributes": {
    "key1": "value1",
    "key2": "value2"
    ...
  },
  "recentIntentSummaryView": [
    {
       "intentName": "Name",
       "checkpointLabel": "Label",
       "slots": {
         "slot name": "value",
         "slot name": "value"
        },
       "confirmationStatus": "None, Confirmed, or Denied (intent confirmation, if configured)",
        "dialogActionType": "ElicitIntent, ElicitSlot, ConfirmIntent, Delegate, or Close",
        "fulfillmentState": "Fulfilled or Failed",
        "slotToElicit": "Next slot to elicit"
    }
  ],
  "activeContexts": [
     {
       "timeToLive": {
          "timeToLiveInSeconds": seconds,
          "turnsToLive": turns
      },
      "name": "name",
      "parameters": {
        "key name": "value"
      }
    }
  ],
  "dialogAction": {
    "type": "ElicitIntent, ElicitSlot, ConfirmIntent, Delegate, or Close",
    Full structure based on the type field. See below for details.
  }
}
```

Responsnya terdiri dari empat bidang. Bidang `sessionAttributes``recentIntentSummaryView`,, dan `activeContexts` bidang adalah opsional, `dialogAction` bidang diperlukan. Isi `dialogAction` bidang tergantung pada nilai `type` bidang. Lihat perinciannya di [dialogAction](#lambda-response-dialogAction).

### sessionAttributes
<a name="lambda-response-sessionAttributes"></a>

Tidak wajib. Jika Anda memasukkan `sessionAttributes` bidang itu bisa kosong. Jika fungsi Lambda Anda tidak menampilkan atribut sesi, fungsi terakhir yang diketahui `sessionAttributes` diteruskan melalui API atau fungsi Lambda tetap ada. Untuk informasi lebih lanjut, lihat [PostContent](API_runtime_PostContent.md) dan [PostText](API_runtime_PostText.md) operasi.

```
  "sessionAttributes": { 
     "key1": "value1",
     "key2": "value2"
  }
```

### recentIntentSummaryLihat
<a name="lambda-response-recentIntentSummaryView"></a>

Tidak wajib. Jika disertakan, tetapkan nilai untuk satu atau lebih maksud terbaru. Anda dapat memasukkan informasi hingga tiga maksud. Misalnya, Anda dapat menetapkan nilai untuk intent sebelumnya berdasarkan informasi yang dikumpulkan oleh intent saat ini. Informasi dalam ringkasan harus valid untuk maksud tersebut. Misalnya, nama maksud harus berupa intent di bot. Jika Anda menyertakan nilai slot dalam tampilan ringkasan, slot harus ada dalam maksud. Jika Anda tidak menyertakan `recentIntentSummaryView` dalam respons Anda, semua nilai untuk maksud terbaru tetap tidak berubah. Untuk informasi selengkapnya, lihat [PutSession](API_runtime_PutSession.md) operasi atau tipe [IntentSummary](API_runtime_IntentSummary.md) data.

```
"recentIntentSummaryView": [
    {
       "intentName": "Name",
       "checkpointLabel": "Label",
       "slots": {
         "slot name": "value",
         "slot name": "value"
        },
       "confirmationStatus": "None, Confirmed, or Denied (intent confirmation, if configured)",
        "dialogActionType": "ElicitIntent, ElicitSlot, ConfirmIntent, Delegate, or Close",
        "fulfillmentState": "Fulfilled or Failed",
        "slotToElicit": "Next slot to elicit"
    }
  ]
```

### ActiveContext
<a name="lambda-response-context"></a>

Tidak wajib. Jika disertakan, tetapkan nilai untuk satu atau lebih konteks. Misalnya, Anda dapat menyertakan konteks untuk membuat satu atau beberapa maksud yang memiliki konteks tersebut sebagai masukan yang memenuhi syarat untuk dikenali di giliran percakapan berikutnya.

Konteks aktif apa pun yang tidak termasuk dalam respons memiliki time-to-live nilainya yang berkurang dan mungkin masih aktif pada permintaan berikutnya. 

Jika Anda menentukan 0 untuk konteks yang disertakan dalam peristiwa input, itu akan menjadi tidak aktif pada permintaan berikutnya. time-to-live

Untuk informasi selengkapnya, lihat [Mengatur Konteks Maksud](context-mgmt-active-context.md).

### dialogAction
<a name="lambda-response-dialogAction"></a>

Wajib. `dialogAction`Bidang mengarahkan Amazon Lex ke tindakan berikutnya, dan menjelaskan apa yang diharapkan dari pengguna setelah Amazon Lex mengembalikan respons ke klien.

`type`Bidang menunjukkan tindakan berikutnya. Ini juga menentukan bidang lain yang perlu disediakan oleh fungsi Lambda sebagai bagian dari nilai`dialogAction`.
+ `Close`— Menginformasikan Amazon Lex untuk tidak mengharapkan tanggapan dari pengguna. Misalnya, “Pesanan pizza Anda telah ditempatkan” tidak memerlukan tanggapan.

   

  Bidang `fulfillmentState` wajib diisi. Amazon Lex menggunakan nilai ini untuk mengatur `dialogState` bidang di [PostContent](API_runtime_PostContent.md) atau [PostText](API_runtime_PostText.md) respons terhadap aplikasi klien. `responseCard`Bidang `message` dan adalah opsional. Jika Anda tidak menentukan pesan, Amazon Lex menggunakan pesan selamat tinggal atau pesan tindak lanjut yang dikonfigurasi untuk maksud tersebut.

  ```
  "dialogAction": {
      "type": "Close",
      "fulfillmentState": "Fulfilled or Failed",
      "message": {
        "contentType": "PlainText or SSML or CustomPayload",
        "content": "Message to convey to the user. For example, Thanks, your pizza has been ordered."
      },
     "responseCard": {
        "version": integer-value,
        "contentType": "application/vnd.amazonaws.card.generic",
        "genericAttachments": [
            {
               "title":"card-title",
               "subTitle":"card-sub-title",
               "imageUrl":"URL of the image to be shown",
               "attachmentLinkUrl":"URL of the attachment to be associated with the card",
               "buttons":[ 
                   {
                      "text":"button-text",
                      "value":"Value sent to server on button click"
                   }
                ]
             } 
         ] 
       }
    }
  ```
+ `ConfirmIntent`— Menginformasikan Amazon Lex bahwa pengguna diharapkan memberikan jawaban ya atau tidak untuk mengkonfirmasi atau menolak maksud saat ini.

   

  Anda harus memasukkan `intentName` dan `slots` bidang. `slots`Bidang harus berisi entri untuk setiap slot yang diisi untuk maksud yang ditentukan. Anda tidak perlu memasukkan entri di `slots` bidang untuk slot yang tidak terisi. Anda harus menyertakan `message` bidang jika bidang intent adalah `confirmationPrompt` null. Isi `message` bidang yang dikembalikan oleh fungsi Lambda lebih diutamakan daripada yang `confirmationPrompt` ditentukan dalam intent. `responseCard`Bidang ini opsional. 

  ```
  "dialogAction": {
      "type": "ConfirmIntent",
      "message": {
        "contentType": "PlainText or SSML or CustomPayload",
        "content": "Message to convey to the user. For example, Are you sure you want a large pizza?"
      },
     "intentName": "intent-name",
     "slots": {
        "slot-name": "value",
        "slot-name": "value",
        "slot-name": "value"  
     },
     "responseCard": {
        "version": integer-value,
        "contentType": "application/vnd.amazonaws.card.generic",
        "genericAttachments": [
            {
               "title":"card-title",
               "subTitle":"card-sub-title",
               "imageUrl":"URL of the image to be shown",
               "attachmentLinkUrl":"URL of the attachment to be associated with the card",
               "buttons":[ 
                   {
                      "text":"button-text",
                      "value":"Value sent to server on button click"
                   }
                ]
             } 
         ] 
       }
    }
  ```
+ `Delegate`— Mengarahkan Amazon Lex untuk memilih tindakan berikutnya berdasarkan konfigurasi bot. Jika respons tidak menyertakan atribut sesi apa pun, Amazon Lex mempertahankan atribut yang ada. Jika Anda ingin nilai slot menjadi nol, Anda tidak perlu memasukkan bidang slot dalam permintaan. Anda akan mendapatkan `DependencyFailedException` pengecualian jika fungsi pemenuhan Anda mengembalikan tindakan `Delegate` dialog tanpa menghapus slot apa pun.

  `kendraQueryFilterString`Bidang `kendraQueryRequestPayload` dan bersifat opsional dan hanya digunakan ketika maksud berasal dari maksud `AMAZON.KendraSearchIntent` bawaan. untuk informasi selengkapnya, lihat. [AMAZON.KendraSearchIntent](built-in-intent-kendra-search.md)

  ```
    "dialogAction": {
     "type": "Delegate",
     "slots": {
        "slot-name": "value",
        "slot-name": "value",
        "slot-name": "value"  
     },
     "kendraQueryRequestPayload": "Amazon Kendra query",
     "kendraQueryFilterString": "Amazon Kendra attribute filters"
    }
  ```
+ `ElicitIntent`— Menginformasikan Amazon Lex bahwa pengguna diharapkan untuk merespons dengan ucapan yang menyertakan maksud. Misalnya, “Saya ingin pizza besar,” yang menunjukkan`OrderPizzaIntent`. Ucapan “besar,” di sisi lain, tidak cukup bagi Amazon Lex untuk menyimpulkan maksud pengguna.

   

  `responseCard`Bidang `message` dan adalah opsional. Jika Anda tidak memberikan pesan, Amazon Lex menggunakan salah satu permintaan klarifikasi bot. Jika tidak ada prompt klarifikasi yang ditentukan, Amazon Lex mengembalikan pengecualian 400 Permintaan Buruk.

  ```
  {
    "dialogAction": {
      "type": "ElicitIntent",
      "message": {
        "contentType": "PlainText or SSML or CustomPayload",
        "content": "Message to convey to the user. For example, What can I help you with?"
      },
      "responseCard": {
        "version": integer-value,
        "contentType": "application/vnd.amazonaws.card.generic",
        "genericAttachments": [
            {
               "title":"card-title",
               "subTitle":"card-sub-title",
               "imageUrl":"URL of the image to be shown",
               "attachmentLinkUrl":"URL of the attachment to be associated with the card",
               "buttons":[ 
                   {
                      "text":"button-text",
                      "value":"Value sent to server on button click"
                   }
                ]
             } 
         ] 
      }
   }
  ```
+ `ElicitSlot`— Menginformasikan Amazon Lex bahwa pengguna diharapkan memberikan nilai slot dalam respons.

   

  `slots`Bidang `intentName``slotToElicit`,, dan diperlukan. `responseCard`Bidang `message` dan adalah opsional. Jika Anda tidak menentukan pesan, Amazon Lex menggunakan salah satu permintaan elisitasi slot yang dikonfigurasi untuk slot. 

  ```
    "dialogAction": {
      "type": "ElicitSlot",
      "message": {
        "contentType": "PlainText or SSML or CustomPayload",
        "content": "Message to convey to the user. For example, What size pizza would you like?"
      },
     "intentName": "intent-name",
     "slots": {
        "slot-name": "value",
        "slot-name": "value",
        "slot-name": "value"  
     },
     "slotToElicit" : "slot-name",
     "responseCard": {
        "version": integer-value,
        "contentType": "application/vnd.amazonaws.card.generic",
        "genericAttachments": [
            {
               "title":"card-title",
               "subTitle":"card-sub-title",
               "imageUrl":"URL of the image to be shown",
               "attachmentLinkUrl":"URL of the attachment to be associated with the card",
               "buttons":[ 
                   {
                      "text":"button-text",
                      "value":"Value sent to server on button click"
                   }
                ]
             } 
         ] 
       }
    }
  ```

# Amazon Lex dan AWS Lambda Cetak Biru
<a name="lex-lambda-blueprints"></a>

Konsol Amazon Lex menyediakan contoh bot (disebut cetak biru bot) yang telah dikonfigurasi sebelumnya sehingga Anda dapat dengan cepat membuat dan menguji bot di konsol. Untuk masing-masing cetak biru bot ini, cetak biru fungsi Lambda juga disediakan. Cetak biru ini memberikan contoh kode yang bekerja dengan bot yang sesuai. Anda dapat menggunakan cetak biru ini untuk dengan cepat membuat bot yang dikonfigurasi dengan fungsi Lambda sebagai pengait kode, dan menguji end-to-end pengaturan tanpa harus menulis kode.

Anda dapat menggunakan cetak biru bot Amazon Lex berikut dan cetak biru AWS Lambda fungsi yang sesuai sebagai kait kode untuk bot: 
+ Cetak biru Amazon Lex - `OrderFlowers`
  + AWS Lambda cetak biru — `lex-order-flowers-python`
+ Cetak biru Amazon Lex - `ScheduleAppointment` 
  + AWS Lambda cetak biru — `lex-make-appointment-python`
+ Cetak biru Amazon Lex - `BookTrip`
  + AWS Lambda cetak biru — `lex-book-trip-python`

Untuk membuat bot menggunakan cetak biru dan mengonfigurasinya untuk menggunakan fungsi Lambda sebagai pengait kode, lihat. [Latihan 1: Membuat Bot Amazon Lex Menggunakan Blueprint (Konsol)](gs-bp.md) Untuk contoh menggunakan cetak biru lain, lihat. [Contoh Tambahan: Membuat Amazon Lex Bots](additional-exercises.md)

## Memperbarui Cetak Biru untuk Lokal Tertentu
<a name="blueprint-update-locale"></a>

Jika Anda menggunakan cetak biru di lokal selain bahasa Inggris (AS) (en-AS), Anda perlu memperbarui nama maksud apa pun untuk menyertakan lokal. Misalnya, jika Anda menggunakan `OrderFlowers` cetak biru, Anda perlu melakukan hal berikut.
+ Temukan `dispatch` fungsi di dekat akhir kode fungsi Lambda.
+ Dalam `dispatch` fungsi, perbarui nama intent untuk menyertakan lokal yang Anda gunakan. Misalnya, jika Anda menggunakan bahasa Inggris (Australia) (en-AU) lokal, ubah baris:

  `if intent_name == 'OrderFlowers':`

  kepada

  `if intent_name == 'OrderFlowers_enAU':`

Cetak biru lain menggunakan nama maksud lain, mereka harus diperbarui seperti di atas sebelum Anda menggunakannya.