

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

# Membuat AWS Lambda fungsi untuk bot Amazon Lex V2 Anda
<a name="lambda-attach"></a>

Untuk membuat fungsi Lambda untuk bot Amazon Lex V2 Anda, akses AWS Lambda dari AWS Management Console dan buat fungsi baru. Anda dapat merujuk ke [panduan AWS Lambda pengembang](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html) untuk detail selengkapnyaAWS Lambda.

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

1. Pilih **Fungsi** di sidebar kiri.

1. Pilih **Buat fungsi**.

1. Anda dapat memilih **Author dari awal** untuk memulai dengan kode minimal, **Gunakan cetak biru** untuk memilih kode sampel untuk kasus penggunaan umum dari daftar, atau Gambar kontainer untuk memilih **gambar kontainer** yang akan digunakan untuk fungsi Anda. Jika Anda memilih **Penulis dari awal**, lanjutkan dengan langkah-langkah berikut:

   1. Berikan fungsi Anda **nama Fungsi** yang bermakna untuk menggambarkan apa yang dilakukannya.

   1. Pilih bahasa dari menu tarik-turun di bawah **Runtime** untuk menulis fungsi Anda.

   1. Pilih set instruksi **Arsitektur** untuk fungsi Anda.

   1. Secara default, Lambda membuat peran dengan izin dasar. Untuk menggunakan peran yang ada atau membuat peran menggunakan templat kebijakan AWS, perluas menu **Ubah peran eksekusi default** dan pilih opsi.

   1. Perluas menu **Pengaturan lanjutan** untuk mengonfigurasi lebih banyak opsi.

1. Pilih **Buat fungsi**.

Gambar berikut menunjukkan apa yang Anda lihat ketika Anda membuat fungsi baru dari awal:

![\[Fungsi Lambda baru.\]](http://docs.aws.amazon.com/id_id/lexv2/latest/dg/images/lambda/lambda-new-function.png)


Fungsi handler Lambda berbeda tergantung pada bahasa yang Anda gunakan. Minimal mengambil objek `event` JSON sebagai argumen. Anda dapat melihat bidang di Amazon Lex V2 `event` yang disediakan di[AWS Lambdaformat acara masukan untuk Lex V2](lambda-input-format.md). Ubah fungsi handler untuk akhirnya mengembalikan objek `response` JSON yang cocok dengan format yang dijelaskan dalam. [AWS Lambdaformat respons untuk Lex V2](lambda-response-format.md)
+ Setelah Anda selesai menulis fungsi Anda, pilih **Deploy** untuk mengizinkan fungsi yang akan digunakan.

Ingatlah bahwa Anda dapat mengaitkan setiap alias bot dengan paling banyak satu fungsi Lambda. Namun, Anda dapat menentukan fungsi sebanyak yang Anda butuhkan untuk bot Anda dalam kode Lambda dan memanggil fungsi-fungsi ini dalam fungsi penangan Lambda. Misalnya, sementara semua intent dalam alias bot yang sama harus memanggil fungsi Lambda yang sama, Anda dapat membuat fungsi router yang mengaktifkan fungsi terpisah untuk setiap intent. Berikut ini adalah contoh fungsi router yang dapat Anda gunakan atau modifikasi untuk aplikasi Anda:

```
import os
import json
import boto3

# reuse client connection as global
client = boto3.client('lambda')

def router(event):
    intent_name = event['sessionState']['intent']['name']
    fn_name = os.environ.get(intent_name)
    print(f"Intent: {intent_name} -> Lambda: {fn_name}")
    if (fn_name):
        # invoke lambda and return result
        invoke_response = client.invoke(FunctionName=fn_name, Payload = json.dumps(event))
        print(invoke_response)
        payload = json.load(invoke_response['Payload'])
        return payload
    raise Exception('No environment variable for intent: ' + intent_name)

def lambda_handler(event, context):
    print(event)
    response = router(event)
    return response
```

**Kapan menggunakan AWS Lambda fungsi dalam percakapan bot Amazon Lex V2**

Anda dapat menggunakan fungsi Lambda pada titik-titik berikut dalam percakapan dengan pengguna:
+ Dalam respons awal setelah maksud dikenali. Misalnya, setelah pengguna mengatakan mereka ingin memesan pizza.
+ Setelah mendapatkan nilai slot dari pengguna. Misalnya, setelah pengguna memberi tahu bot ukuran pizza yang ingin mereka pesan.
+ Antara setiap percobaan lagi untuk mendapatkan slot. Misalnya, jika pelanggan tidak menggunakan ukuran pizza yang diakui.
+ Saat mengonfirmasi niat. Misalnya, saat mengonfirmasi pesanan pizza.
+ Untuk memenuhi niat. Misalnya, untuk memesan pizza.
+ Setelah pemenuhan niat, dan sebelum bot Anda menutup percakapan. Misalnya, untuk beralih ke niat memesan minuman.

**Topics**
+ [Lampirkan AWS Lambda fungsi ke bot Amazon Lex V2 menggunakan konsol](lambda-attach-console.md)
+ [Lampirkan AWS Lambda fungsi ke bot Amazon Lex V2 menggunakan operasi API](lambda-attach-api.md)

# Lampirkan AWS Lambda fungsi ke bot Amazon Lex V2 menggunakan konsol
<a name="lambda-attach-console"></a>

Anda harus terlebih dahulu melampirkan fungsi Lambda ke alias bot Amazon Lex V2 Anda sebelum Anda dapat memanggilnya. Anda hanya dapat melampirkan satu fungsi Lambda dengan setiap alias bot. Lakukan langkah-langkah ini untuk melampirkan fungsi Lambda menggunakan konsol AWS. 

1. Masuk ke AWS Management Console dan buka konsol Amazon Lex di [https://console.aws.amazon.com/lex/](https://console.aws.amazon.com/lex/).

1. Pilih **Bot** dari panel sisi kiri dan dari daftar bot, pilih nama bot yang ingin Anda lampirkan fungsi Lambda.

1. Dari panel sisi kiri, pilih **Alias** di bawah menu **Deployment**.

1. Dari daftar alias, pilih nama alias yang ingin Anda lampirkan fungsi Lambda.

1. Di panel **Bahasa**, pilih bahasa yang Anda inginkan untuk fungsi Lambda. Pilih **Kelola bahasa di alias** untuk menambahkan bahasa jika tidak ada di panel.

1. Di menu tarik-turun **Sumber**, pilih nama fungsi Lambda yang ingin Anda lampirkan.

1. Di **versi fungsi Lambda atau menu dropdown alias**, pilih versi atau alias fungsi Lambda yang ingin Anda gunakan. Kemudian pilih **Simpan**. Fungsi Lambda yang sama digunakan untuk semua maksud dalam bahasa yang didukung oleh bot.

**Menyetel intent Amazon Lex V2 untuk menjalankan fungsi Lambda menggunakan konsol**

1. Setelah memilih bot, pilih **Maksud** di menu sebelah kiri di bawah bahasa bot yang ingin Anda gunakan untuk menjalankan fungsi Lambda.

1. Pilih maksud di mana Anda ingin menjalankan fungsi Lambda untuk membuka editor maksud.

1. Ada dua opsi untuk mengatur hook kode Lambda:

   1. Untuk menjalankan fungsi Lambda setelah setiap langkah percakapan, gulir ke bagian Kait **kode** di bagian bawah editor maksud dan pilih kotak centang **Gunakan fungsi Lambda untuk inisialisasi dan** validasi, seperti pada gambar berikut:  
![\[Bagian kait kode dari editor maksud Amazon Lex V2.\]](http://docs.aws.amazon.com/id_id/lexv2/latest/dg/images/lambda/lambda-code-hooks-all.png)

   1. Atau, gunakan bagian **hook kode dialog** di tahapan percakapan untuk menjalankan fungsi Lambda. Bagian **hook kode dialog** muncul sebagai berikut:  
![\[Bagian kait kode dari editor maksud Amazon Lex V2.\]](http://docs.aws.amazon.com/id_id/lexv2/latest/dg/images/lambda/lambda-code-hook-step.png)

      Ada dua cara untuk mengontrol bagaimana Amazon Lex V2 memanggil hook kode untuk respons:
      + *Alihkan tombol **Aktif** untuk menandainya sebagai *aktif atau tidak aktif*.* Ketika hook kode *aktif*, Amazon Lex V2 akan memanggil hook kode. Ketika hook kode *tidak aktif*, Amazon Lex V2 tidak menjalankan hook kode.
      + **Perluas bagian **kait kode dialog Lambda** dan pilih kotak centang fungsi **Invoke Lambda** untuk menandainya sebagai diaktifkan atau dinonaktifkan.** Anda hanya dapat mengaktifkan atau menonaktifkan hook kode ketika ditandai aktif. Ketika ditandai *diaktifkan*, hook kode dijalankan secara normal. Ketika *dinonaktifkan*, hook kode tidak dipanggil dan Amazon Lex V2 bertindak seolah-olah hook kode berhasil dikembalikan. Untuk mengonfigurasi respons setelah hook kode dialog berhasil, gagal, atau habis waktu, pilih Opsi **lanjutan**

      Kait kode Lambda dapat dipanggil pada tahap percakapan berikut:
      + Untuk menjalankan fungsi sebagai **respons awal**, gulir ke bagian **Respons Awal**, perluas panah di sebelah **Respons untuk mengakui permintaan pengguna**, dan pilih Opsi **lanjutan**. Temukan bagian **kait kode dialog** di bagian bawah menu yang muncul.
      + **Untuk menjalankan fungsi setelah **elicitation slot**, gulir ke bagian **Slots**, perluas panah di sebelah **Prompt for slot** yang relevan, dan pilih Opsi lanjutan.** Temukan bagian **kait kode dialog** di dekat bagian bawah menu yang muncul, tepat di atas **nilai Default**.

        Anda juga dapat memanggil fungsi setelah setiap elisitasi. Untuk melakukan ini, **perluas Bot memperoleh informasi** di bagian **Petunjuk Slot**, pilih **Opsi prompt lainnya**, dan pilih kotak centang di samping Memanggil kait kode **Lambda setelah setiap** elicitation.
      + ****Untuk menjalankan fungsi **konfirmasi maksud, gulir ke bagian Konfirmasi**, perluas panah di sebelah **Prompts untuk mengonfirmasi maksud**, dan pilih Opsi lanjutan.**** Temukan bagian **kait kode dialog** di bagian bawah menu yang muncul.
      + **Untuk memanggil fungsi untuk **pemenuhan maksud, gulir ke bagian Pemenuhan**.** *Alihkan tombol **Aktif** untuk mengatur hook kode menjadi aktif.* Perluas panah **di sebelah On successful fulfillment**, dan pilih **Advanced options**. *Pilih kotak centang di samping **Gunakan fungsi Lambda untuk pemenuhan** di bawah bagian **kait kode Lambda Pemenuhan untuk mengatur kait kode** ke diaktifkan.*

1. Setelah Anda mengatur tahapan percakapan untuk menjalankan fungsi Lambda**,** Bangun bot lagi untuk menguji fungsinya.

# Lampirkan AWS Lambda fungsi ke bot Amazon Lex V2 menggunakan operasi API
<a name="lambda-attach-api"></a>

Anda harus terlebih dahulu melampirkan fungsi Lambda ke alias bot Amazon Lex V2 Anda sebelum Anda dapat memanggilnya. Anda hanya dapat mengaitkan satu fungsi Lambda dengan setiap alias bot. Lakukan langkah-langkah ini untuk melampirkan fungsi Lambda menggunakan operasi API. 

Jika Anda membuat alias bot baru, gunakan [CreateBotAlias](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_CreateBotAlias.html)operasi untuk melampirkan fungsi Lambda. Untuk melampirkan fungsi Lambda ke alias bot yang ada, gunakan operasi. [UpdateBotAlias](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_UpdateBotAlias.html) Ubah `botAliasLocaleSettings` bidang untuk memuat pengaturan yang benar:

```
{
    "botAliasLocaleSettings" : {
        locale: {
            "codeHookSpecification": {
                "lambdaCodeHook": {
                    "codeHookInterfaceVersion": "1.0",
                    "lambdaARN": "arn:aws:lambda:region:account-id:function:function-name"
                }
            },
            "enabled": true
        },
        ...
    }
}
```

1. `botAliasLocaleSettings`Bidang memetakan ke objek yang kuncinya adalah lokal di mana Anda ingin melampirkan fungsi Lambda. Lihat [Bahasa dan lokal yang didukung](how-languages.md#supported-languages) daftar lokal yang didukung dan kode yang merupakan kunci yang valid.

1. Untuk menemukan fungsi `lambdaARN` for Lambda, buka AWS Lambda konsol di [https://console.aws.amazon.com/lambda/rumah](https://console.aws.amazon.com/lambda/home), pilih **Fungsi** di bilah sisi kiri, dan pilih fungsi yang akan dikaitkan dengan alias bot. Di sisi kanan **ikhtisar Fungsi**, temukan di `lambdaARN` bawah **Fungsi ARN**. Ini harus berisi wilayah, ID akun, dan nama fungsi.

1. Untuk mengizinkan Amazon Lex V2 memanggil fungsi Lambda untuk alias, setel `enabled` bidang ke. `true`

**Menyetel intent Amazon Lex V2 untuk menjalankan fungsi Lambda menggunakan operasi API**

Untuk mengatur pemanggilan fungsi Lambda selama intent, gunakan [CreateIntent](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_CreateIntent.html)operasi jika Anda membuat intent baru, atau [UpdateIntent](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_UpdateIntent.html)operasi jika Anda menjalankan fungsi dalam intent yang ada. Bidang yang mengontrol pemanggilan fungsi Lambda dalam operasi intent adalah`dialogCodeHook`,, dan. `initialResponseSetting` `intentConfirmationSetting` `fulfillmentCodeHook`

Jika Anda menjalankan fungsi selama elisitasi slot, gunakan [CreateSlot](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_CreateSlot.html)operasi jika Anda membuat slot baru, atau [UpdateSlot](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_UpdateSlot.html)operasi untuk memanggil fungsi di slot yang ada. Bidang yang mengontrol pemanggilan fungsi Lambda dalam operasi slot adalah objek. `slotCaptureSetting` `valueElicitationSetting`

1. Untuk mengatur hook kode dialog Lambda agar berjalan setelah setiap putaran percakapan, setel `enabled` bidang [DialogCodeHookSettings](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_DialogCodeHookSettings.html)objek berikut di `dialogCodeHook` bidang menjadi: `true`

   ```
   "dialogCodeHook": {
       "enabled": boolean
   }
   ```

1. Atau, Anda dapat mengatur hook kode dialog Lambda agar berjalan hanya pada titik-titik tertentu dalam percakapan dengan memodifikasi `codeHook` and/or `elicitationCodeHook` bidang dalam struktur yang sesuai dengan tahapan percakapan di mana Anda ingin menjalankan fungsi tersebut. Untuk menggunakan hook kode dialog Lambda untuk pemenuhan maksud, gunakan `fulfillmentCodeHook` bidang dalam operasi atau. [CreateIntent[UpdateIntent](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_UpdateIntent.html)](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_CreateIntent.html) Struktur dan penggunaan ketiga jenis kait kode ini adalah sebagai berikut:

## CodeHook
<a name="lambda-code-hook"></a>

`codeHook`Bidang mendefinisikan pengaturan untuk hook kode untuk dijalankan pada tahap tertentu dalam percakapan. Ini adalah [DialogCodeHookInvocationSetting](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_DialogCodeHookInvocationSetting.html)objek dengan struktur berikut:

```
"codeHook": {
    "active": boolean,
    "enableCodeHookInvocation": boolean,
    "invocationLabel": string,
    "postCodeHookSpecification": [PostDialogCodeHookInvocationSpecification object](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_PostDialogCodeHookInvocationSpecification.html),
}
```
+ Ubah `active` bidang menjadi `true` Amazon Lex V2 untuk memanggil kait kode pada saat itu dalam percakapan.
+ Ubah `enableCodeHookInvocation` bidang menjadi `true` Amazon Lex V2 untuk memungkinkan hook kode berjalan normal. Jika Anda menandainya`false`, Amazon Lex V2 bertindak seolah-olah pengait kode berhasil dikembalikan.
+ `invocationLabel`Ini menunjukkan langkah dialog dari mana kode hook dipanggil.
+ Gunakan `postCodeHookSpecification` bidang untuk menentukan tindakan dan pesan yang terjadi setelah hook kode berhasil, gagal, atau habis waktu.

## elicitationCodeHook
<a name="lambda-elicitation-code-hook"></a>

`elicitationCodeHook`Bidang mendefinisikan pengaturan untuk hook kode untuk dijalankan jika slot atau slot perlu ditimbulkan kembali. Skenario ini dapat terjadi jika elisitasi slot gagal atau konfirmasi maksud ditolak. `elicitationCodeHook`Bidang adalah [ElicitationCodeHookInvocationSetting](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_ElicitationCodeHookInvocationSetting.html)objek dengan struktur berikut:

```
"elicitationCodeHook": {
    "enableCodeHookInvocation": boolean,
    "invocationLabel": string
}
```
+ Ubah `enableCodeHookInvocation` bidang menjadi `true` Amazon Lex V2 untuk memungkinkan hook kode berjalan normal. Jika Anda menandainya`false`, Amazon Lex V2 bertindak seolah-olah pengait kode berhasil dikembalikan.
+ `invocationLabel`Ini menunjukkan langkah dialog dari mana kode hook dipanggil.

## fulfillmentCodeHook
<a name="lambda-fulfillment-code-hook"></a>

`fulfillmentCodeHook`Bidang mendefinisikan pengaturan untuk hook kode yang akan dijalankan untuk memenuhi maksud. Ini memetakan ke [FulfillmentCodeHookSettings](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_FulfillmentCodeHookSettings.html)objek berikut:

```
"fulfillmentCodeHook": {
    "active": boolean,
    "enabled": boolean,
    "fulfillmentUpdatesSpecification": [FulfillmentUpdatesSpecification object](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_FulfillmentUpdatesSpecification.html),
    "postFulfillmentStatusSpecification": [PostFulfillmentStatusSpecification object](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_PostFulfillmentStatusSpecification.html)
}
```
+ Ubah `active` bidang menjadi `true` Amazon Lex V2 untuk memanggil kait kode pada saat itu dalam percakapan.
+ Ubah `enabled` bidang menjadi `true` Amazon Lex V2 untuk memungkinkan hook kode berjalan normal. Jika Anda menandainya`false`, Amazon Lex V2 bertindak seolah-olah pengait kode berhasil dikembalikan.
+ Gunakan `fulfillmentUpdatesSpecification` bidang untuk menentukan pesan yang muncul untuk memperbarui pengguna selama pemenuhan maksud dan waktu yang terkait dengannya.
+ Gunakan `postFulfillmentStatusSpecification` bidang untuk menentukan pesan dan tindakan yang terjadi setelah hook kode berhasil, gagal, atau habis waktu.

Anda dapat memanggil hook kode Lambda pada titik-titik berikut dalam percakapan dengan menyetel bidang `enableCodeHookInvocation` and`enabled`/`active`ke: `true`

## Selama respon awal
<a name="lambda-hook-initial-response"></a>

Untuk memanggil fungsi Lambda dalam respons awal setelah maksud dikenali, gunakan struktur `codeHook` di `initialResponse` bidang operasi atau. [CreateIntent[UpdateIntent](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_UpdateIntent.html)](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_CreateIntent.html) `initialResponse`Bidang memetakan ke [InitialResponseSetting](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_InitialResponseSetting.html)objek berikut:

```
"initialResponse": {
    "codeHook": {
        "active": boolean,
        "enableCodeHookInvocation": boolean,
        "invocationLabel": string,
        "postCodeHookSpecification": [PostDialogCodeHookInvocationSpecification object](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_PostDialogCodeHookInvocationSpecification.html),
    },
    "initialResponse": [FulfillmentUpdatesSpecification object](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_FulfillmentUpdatesSpecification.html),
    "nextStep": [PostFulfillmentStatusSpecification object](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_PostFulfillmentStatusSpecification.html),
    "conditional": [ConditionalSpecification object](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_ConditionalSpecification.html)
}
```

## Setelah elisitasi slot atau selama elisitasi ulang slot
<a name="lambda-hook-elicit-slot"></a>

Untuk memanggil fungsi Lambda setelah memunculkan nilai slot, gunakan bidang `slotCaptureSetting` dalam bidang operasi `valueElicitation` atau. [CreateSlot[UpdateSlot](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_UpdateSlot.html)](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_CreateSlot.html) `slotCaptureSetting`Bidang memetakan ke [SlotCaptureSetting](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_SlotCaptureSetting.html)objek berikut:

```
"slotCaptureSetting": {
    "captureConditional": [ConditionalSpecification object](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_ConditionalSpecification.html),
    "captureNextStep": [DialogState object](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_DialogState.html),
    "captureResponse": [ResponseSpecification object](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_ResponseSpecification.html),
    "codeHook": {
        "active": true,
        "enableCodeHookInvocation": true,
        "invocationLabel": string,
        "postCodeHookSpecification": [PostDialogCodeHookInvocationSpecification object](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_PostDialogCodeHookInvocationSpecification.html),
    },
    "elicitationCodeHook": {
        "enableCodeHookInvocation": boolean,
        "invocationLabel": string
    },
    "failureConditional": [ConditionalSpecification object](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_ConditionalSpecification.html),
    "failureNextStep": [DialogState object](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_DialogState.html),
    "failureResponse": [ResponseSpecification object](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_ResponseSpecification.html)
}
```
+ Untuk menjalankan fungsi Lambda setelah elisitasi slot berhasil, gunakan bidang. `codeHook`
+ Untuk menjalankan fungsi Lambda setelah elisitasi slot gagal dan Amazon Lex V2 mencoba lagi elisitasi slot, gunakan bidang tersebut. `elicitationCodeHook`

## Setelah konfirmasi maksud atau penolakan
<a name="lambda-hook-confirm-intent"></a>

Untuk memanggil fungsi Lambda saat mengonfirmasi maksud, gunakan bidang `intentConfirmationSetting` operasi atau. [CreateIntent[UpdateIntent](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_UpdateIntent.html)](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_CreateIntent.html) `intentConfirmation`Bidang memetakan ke [IntentConfirmationSetting](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_IntentConfirmationSetting.html)objek berikut:

```
"intentConfirmationSetting": {
    "active": boolean,
    "codeHook": {
        "active": boolean,
        "enableCodeHookInvocation": boolean,
        "invocationLabel": string,
        "postCodeHookSpecification": [PostDialogCodeHookInvocationSpecification object](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_PostDialogCodeHookInvocationSpecification.html),
    },
    "confirmationConditional": [ConditionalSpecification object](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_ConditionalSpecification.html),
    "confirmationNextStep": [DialogState object](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_DialogState.html),
    "confirmationResponse": [ResponseSpecification object](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_DialResponseSpecificationogState.html),
    "declinationConditional": [ConditionalSpecification object](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_ConditionalSpecification.html),
    "declinationNextStep": [FulfillmentUpdatesSpecification object](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_FulfillmentUpdatesSpecification.html),
    "declinationResponse": [PostFulfillmentStatusSpecification object](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_PostFulfillmentStatusSpecification.html),
    "elicitationCodeHook": {
        "enableCodeHookInvocation": boolean,
        "invocationLabel": string,
    },
    "failureConditional": [ConditionalSpecification object](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_ConditionalSpecification.html),
    "failureNextStep": [DialogState object](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_DialogState.html),
    "failureResponse": [ResponseSpecification object](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_ResponseSpecification.html),
    "promptSpecification": [PromptSpecification object](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_PromptSpecification.html)
}
```
+ Untuk menjalankan fungsi Lambda setelah pengguna mengonfirmasi maksud dan slotnya, gunakan bidang tersebut. `codeHook`
+ Untuk menjalankan fungsi Lambda setelah pengguna menolak konfirmasi maksud dan Amazon Lex V2 mencoba lagi elicitation slot, gunakan bidang tersebut. `elicitationCodeHook`

## Selama pemenuhan niat
<a name="lambda-hook-fulfill-intent"></a>

Untuk memanggil fungsi Lambda untuk memenuhi maksud, gunakan bidang dalam `fulfillmentCodeHook` [CreateIntent](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_CreateIntent.html)operasi atau. [UpdateIntent](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_UpdateIntent.html) `fulfillmentCodeHook`Bidang memetakan ke [FulfillmentCodeHookSettings](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_FulfillmentCodeHookSettings.html)objek berikut:

```
{
    "active": boolean,
    "enabled": boolean,
    "fulfillmentUpdatesSpecification": [FulfillmentUpdatesSpecification object](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_FulfillmentUpdatesSpecification.html),
    "postFulfillmentStatusSpecification": [PostFulfillmentStatusSpecification object](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_PostFulfillmentStatusSpecification.html)
}
```

3. Setelah Anda mengatur tahapan percakapan untuk menjalankan fungsi Lambda, gunakan `BuildBotLocale` operasi untuk membangun kembali bot untuk menguji fungsi.