

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

# Mengaktifkan log percakapan untuk bot Lex V2 Anda
<a name="enabling-logs"></a>

Gunakan log percakapan untuk menyimpan percakapan pengguna dengan bot Anda. Tinjau log ini untuk mengidentifikasi masalah dengan interaksi bot Anda dengan pengguna dan mengubah perilaku bot Anda dengan wawasan ini. Bagian ini juga menjelaskan cara mengaburkan nilai slot untuk melindungi privasi pengguna.

**Topics**
+ [Mencatat percakapan dengan log percakapan di Lex V2](conversation-logs.md)
+ [Mengaburkan nilai slot dalam log percakapan dari Lex V2](monitoring-obfuscate.md)
+ [Pengambilan log percakapan selektif di Lex V2](monitoring-selective-logging.md)

# Mencatat percakapan dengan log percakapan di Lex V2
<a name="conversation-logs"></a>

Anda mengaktifkan *log percakapan* untuk menyimpan interaksi bot. Anda dapat menggunakan log ini untuk meninjau kinerja bot Anda dan untuk memecahkan masalah dengan percakapan. Anda dapat mencatat teks untuk [RecognizeText](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_runtime_RecognizeText.html)operasi. Anda dapat mencatat teks dan audio untuk [RecognizeUtterance](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_runtime_RecognizeUtterance.html)operasi. Dengan mengaktifkan log percakapan, Anda mendapatkan tampilan terperinci tentang percakapan yang dimiliki pengguna dengan bot Anda.

Misalnya, sesi dengan bot Anda memiliki ID sesi. Anda dapat menggunakan ID ini untuk mendapatkan transkrip percakapan termasuk ucapan pengguna dan respons bot yang sesuai. Anda juga mendapatkan metadata seperti nama maksud dan nilai slot untuk ucapan.

**catatan**  
Anda tidak dapat menggunakan log percakapan dengan bot yang tunduk pada Undang-Undang Perlindungan Privasi Online Anak-anak (COPPA).

Log percakapan dikonfigurasi untuk alias. Setiap alias dapat memiliki pengaturan yang berbeda untuk teks dan log audio mereka. Anda dapat mengaktifkan log teks, log audio, atau keduanya untuk setiap alias. Log teks menyimpan input teks, transkrip input audio, dan metadata terkait di Log. CloudWatch Log audio menyimpan input audio di Amazon S3. Anda dapat mengaktifkan enkripsi log teks dan audio menggunakan AWS KMS pelanggan yang dikelola CMKs.

Untuk mengkonfigurasi logging, gunakan konsol atau [UpdateBotAlias](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_UpdateBotAlias.html)operasi [CreateBotAlias](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_CreateBotAlias.html)atau. Setelah mengaktifkan log percakapan untuk alias, gunakan [RecognizeUtterance](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_runtime_RecognizeUtterance.html)operasi [RecognizeText](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_runtime_RecognizeText.html)atau untuk alias tersebut mencatat ucapan teks atau audio dalam grup log Log yang dikonfigurasi atau bucket CloudWatch S3.

**Topics**
+ [Kebijakan IAM untuk Log Percakapan](conversation-logs-policies.md)
+ [Mengkonfigurasi log percakapan untuk bot Lex V2 Anda](conversation-logs-configure.md)
+ [Melihat log teks di Amazon CloudWatch Logs dari Lex V2](conversation-logs-cw.md)
+ [Mengakses log audio di Amazon S3](conversation-logs-s3.md)
+ [Memantau status log percakapan dengan CloudWatch metrik](conversation-logs-monitoring.md)

# Kebijakan IAM untuk Log Percakapan
<a name="conversation-logs-policies"></a>

Bergantung pada jenis logging yang Anda pilih, Amazon Lex V2 memerlukan izin untuk menggunakan Amazon CloudWatch Logs dan Amazon Simple Storage Service (S3) bucket untuk menyimpan log Anda. Anda harus membuat peran dan izin AWS Identity and Access Management untuk mengaktifkan Amazon Lex V2 mengakses sumber daya ini. 

## Membuat Peran dan Kebijakan IAM untuk Log Percakapan
<a name="conversation-logs-role-and-policy"></a>

Untuk mengaktifkan log percakapan, Anda harus memberikan izin menulis untuk CloudWatch Log dan Amazon S3. Jika Anda mengaktifkan enkripsi objek untuk objek S3 Anda, Anda harus memberikan izin akses ke AWS KMS kunci yang digunakan untuk mengenkripsi objek. 

Anda dapat menggunakan konsol IAM, API IAM, atau AWS Command Line Interface untuk membuat peran dan kebijakan. Petunjuk ini menggunakan AWS CLI untuk membuat peran dan kebijakan.

**catatan**  
Kode berikut diformat untuk Linux dan macOS. Untuk Windows, ganti karakter kelanjutan baris Linux (\$1) dengan tanda sisipan (^).



**Untuk membuat peran IAM untuk log percakapan**

1. Buat dokumen di direktori saat ini yang disebut**LexConversationLogsAssumeRolePolicyDocument.json**, tambahkan kode berikut ke dalamnya, dan simpan. Dokumen kebijakan ini menambahkan Amazon Lex V2 sebagai entitas tepercaya ke peran tersebut. Hal ini memungkinkan Amazon Lex V2 untuk mengambil peran untuk mengirimkan log ke sumber daya yang dikonfigurasi untuk log percakapan.

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Principal": {
           "Service": "lexv2.amazonaws.com"
         },
         "Action": "sts:AssumeRole"
       }
     ]
   }
   ```

------

1. Di AWS CLI, jalankan perintah berikut untuk membuat peran IAM untuk log percakapan.

   ```
   aws iam create-role \
       --role-name role-name \
       --assume-role-policy-document file://LexConversationLogsAssumeRolePolicyDocument.json
   ```

Selanjutnya, buat dan lampirkan kebijakan ke peran yang memungkinkan Amazon Lex V2 menulis ke CloudWatch Log. 

**Untuk membuat kebijakan IAM untuk mencatat teks percakapan ke CloudWatch Log**

1. Buat dokumen di direktori saat ini yang disebut**LexConversationLogsCloudWatchLogsPolicy.json**, tambahkan kebijakan IAM berikut ke dalamnya, dan simpan.

1. Di AWS CLI, buat kebijakan IAM yang memberikan izin menulis ke grup log Log. CloudWatch 

   ```
   aws iam create-policy \
       --policy-name cloudwatch-policy-name \
       --policy-document file://LexConversationLogsCloudWatchLogsPolicy.json
   ```

1. Lampirkan kebijakan ke peran IAM yang Anda buat untuk log percakapan.

   ```
   aws iam attach-role-policy \
       --policy-arn arn:aws:iam::account-id:policy/cloudwatch-policy-name \
       --role-name role-name
   ```

Jika Anda mencatat audio ke bucket S3, buat kebijakan yang memungkinkan Amazon Lex V2 menulis ke bucket.

**Untuk membuat kebijakan IAM untuk pencatatan audio ke bucket S3**

1. Buat dokumen di direktori saat ini yang disebut**LexConversationLogsS3Policy.json**, tambahkan kebijakan berikut ke dalamnya, dan simpan.

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
         {
             "Effect": "Allow",
             "Action": [
                 "s3:PutObject"
             ],
             "Resource": "arn:aws:s3:::bucket-name/*"
         }
     ]
   }
   ```

------

1. Di AWS CLI, buat kebijakan IAM yang memberikan izin menulis ke bucket S3 Anda.

   ```
   aws iam create-policy \
       --policy-name s3-policy-name \
       --policy-document file://LexConversationLogsS3Policy.json
   ```

1. Lampirkan kebijakan ke peran yang Anda buat untuk log percakapan.

   ```
   aws iam attach-role-policy \
       --policy-arn arn:aws:iam::account-id:policy/s3-policy-name \
       --role-name role-name
   ```

## Memberikan Izin untuk Lulus Peran IAM
<a name="conversation-logs-pass-role"></a>

Saat Anda menggunakan konsol, AWS SDK AWS Command Line Interface, atau AWS untuk menentukan peran IAM yang akan digunakan untuk log percakapan, pengguna yang menentukan peran IAM log percakapan harus memiliki izin untuk meneruskan peran tersebut ke Amazon Lex V2. Untuk mengizinkan pengguna meneruskan peran ke Amazon Lex V2, Anda harus memberikan `PassRole` izin kepada pengguna, peran, atau grup IAM pengguna. 

Kebijakan berikut menentukan izin untuk diberikan kepada pengguna, peran, atau grup. Anda dapat menggunakan tombol `iam:AssociatedResourceArn` dan `iam:PassedToService` kondisi untuk membatasi ruang lingkup izin. Untuk informasi selengkapnya, lihat [Memberikan Izin Pengguna untuk Meneruskan Peran ke Layanan AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_passrole.html) dan [IAM serta Kunci Konteks AWS STS Kondisi](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_iam-condition-keys.html) dalam Panduan Pengguna *AWS Identity and Access Management*.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": "arn:aws:iam::111122223333:role/role-name",
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": "lexv2.amazonaws.com"
                },
                "StringLike": {
                    "iam:AssociatedResourceARN": "arn:aws:lex:region:123456789012:bot:bot-name:bot-alias"
                }
            }
        }
    ]
}
```

------

# Mengkonfigurasi log percakapan untuk bot Lex V2 Anda
<a name="conversation-logs-configure"></a>

Anda mengaktifkan dan menonaktifkan log percakapan menggunakan konsol atau `conversationLogSettings` bidang `UpdateBotAlias` operasi `CreateBotAlias` atau. Anda dapat mengaktifkan atau mematikan log audio, log teks, atau keduanya. Logging dimulai pada sesi bot baru. Perubahan pada setelan log tidak tercermin untuk sesi aktif.

Untuk menyimpan log teks, gunakan grup CloudWatch log Amazon Logs di akun AWS Anda. Anda dapat menggunakan grup log yang valid. Grup log harus berada di wilayah yang sama dengan bot Amazon Lex V2. Untuk informasi selengkapnya tentang membuat grup CloudWatch log Log, lihat [Bekerja dengan Grup Log dan Aliran Log](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html) di *Panduan Pengguna CloudWatch Log Amazon*.

Untuk menyimpan log audio, gunakan bucket Amazon S3 di akun AWS Anda. Anda dapat menggunakan bucket S3 yang valid. Bucket harus berada di wilayah yang sama dengan bot Amazon Lex V2. Untuk informasi selengkapnya tentang membuat bucket S3, lihat [Membuat bucket](https://docs.aws.amazon.com/AmazonS3/latest/gsg/CreatingABucket.html) di *Panduan Memulai Layanan Penyimpanan Sederhana Amazon*.

Saat Anda mengelola log percakapan menggunakan konsol, konsol akan memperbarui peran layanan Anda sehingga memiliki akses ke grup log dan bucket S3.

Jika Anda tidak menggunakan konsol, Anda harus memberikan peran IAM dengan kebijakan yang memungkinkan Amazon Lex V2 untuk menulis ke grup log atau bucket yang dikonfigurasi. Jika Anda membuat peran terkait layanan menggunakan AWS Command Line Interface, Anda harus menambahkan akhiran kustom ke peran menggunakan `custom-suffix` opsi seperti pada contoh berikut. Untuk informasi selengkapnya, lihat [Membuat Peran dan Kebijakan IAM untuk Log Percakapan](conversation-logs-policies.md#conversation-logs-role-and-policy).

```
aws iam create-service-linked-role \
    --aws-service-name lexv2.amazon.aws.com \
    --custom-suffix suffix
```

Peran IAM yang Anda gunakan untuk mengaktifkan log percakapan harus memiliki `iam:PassRole` izin. Kebijakan berikut harus dilampirkan pada peran:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": "arn:aws:iam::111122223333:role/role"
        }
    ]
}
```

------

## Mengaktifkan log percakapan
<a name="conversation-logs-enable"></a>

**Untuk mengaktifkan log menggunakan konsol**

1. Buka konsol Amazon Lex V2 [https://console.aws.amazon.com/lexv2](https://console.aws.amazon.com/lexv2).

1. Dari daftar, pilih bot.

1. Dari menu sebelah kiri, pilih **Alias**.

1. Dalam daftar alias, pilih alias yang ingin Anda konfigurasikan log percakapan.

1. Di bagian **Log percakapan**, pilih **Kelola log percakapan**. 

1. Untuk log teks, pilih **Aktifkan** lalu masukkan nama grup CloudWatch log Amazon Logs.

1. Untuk log audio, pilih **Aktifkan** lalu masukkan informasi bucket S3.

1. Tidak wajib. Untuk mengenkripsi log audio, pilih AWS KMS kunci yang akan digunakan untuk enkripsi.

1. Pilih **Simpan** untuk mulai mencatat percakapan. Jika perlu, Amazon Lex V2 akan memperbarui peran layanan Anda dengan izin untuk mengakses grup CloudWatch log Log dan bucket S3 yang dipilih.

## Menonaktifkan log percakapan di Lex V2
<a name="conversation-logs-disable"></a>

**Untuk mematikan log menggunakan konsol**

1. Buka konsol Amazon Lex V2 [https://console.aws.amazon.com/lexv2](https://console.aws.amazon.com/lexv2).

1. Dari daftar, pilih bot.

1. Dari menu sebelah kiri, pilih **Alias**.

1. Dalam daftar alias, pilih alias yang ingin Anda konfigurasikan log percakapan.

1. Di bagian **Log percakapan**, pilih **Kelola log percakapan**.

1. Nonaktifkan pencatatan teks, pencatatan audio, atau keduanya untuk mematikan logging.

1. Pilih **Simpan** untuk menghentikan pencatatan percakapan.

# Melihat log teks di Amazon CloudWatch Logs dari Lex V2
<a name="conversation-logs-cw"></a>

Amazon Lex V2 menyimpan log teks untuk percakapan Anda di Amazon CloudWatch Logs. Untuk melihat log, gunakan konsol CloudWatch Log atau API. Untuk informasi selengkapnya, lihat [Cari Data Log Menggunakan Pola Filter](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/SearchDataFilterPattern.html) dan [Sintaks Kueri Wawasan CloudWatch Log](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_QuerySyntax.html) di *Panduan Pengguna Amazon CloudWatch Logs*.

**Untuk melihat log menggunakan konsol Amazon Lex V2**

1. Buka konsol Amazon Lex V2 [https://console.aws.amazon.com/lexv2](https://console.aws.amazon.com/lexv2).

1. Dari daftar, pilih bot.

1. Dari menu sebelah kiri, pilih **Analytics**, lalu pilih **CloudWatch metrik**.

1. Lihat metrik untuk bot Anda di halaman **CloudWatch metrik**.

Anda juga dapat menggunakan CloudWatch konsol atau API untuk melihat entri log Anda. Untuk menemukan entri log, navigasikan ke grup log yang Anda konfigurasikan untuk alias. Anda dapat menemukan awalan aliran log untuk log Anda di konsol Amazon Lex V2 atau dengan menggunakan [DescribeBotAlias](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_DescribeBotAlias.html)operasi. 

Entri log untuk ucapan pengguna ditemukan di beberapa aliran log. Ucapan dalam percakapan memiliki entri di salah satu aliran log dengan awalan yang ditentukan. Entri dalam aliran log berisi informasi berikut:

versi pesan  
Versi skema pesan.

bot  
Detail tentang bot yang berinteraksi dengan pelanggan.

pesan  
Tanggapan yang dikirim bot kembali ke pengguna.

UtteranceContext  
Informasi tentang memproses ucapan ini.  
+ `runtimeHints`—konteks runtime digunakan untuk mentranskripsikan dan menafsirkan masukan pengguna. Untuk informasi selengkapnya, lihat [Meningkatkan pengenalan nilai slot dengan petunjuk runtime dalam percakapan](using-hints.md).
+ `slotElicitationStyle`—Gaya elisitasi slot digunakan untuk menafsirkan input pengguna. Untuk informasi selengkapnya, lihat [Menangkap nilai slot dengan gaya ejaan selama percakapan](spelling-styles.md).

SessionState  
Keadaan percakapan saat ini antara pengguna dan bot. Untuk informasi selengkapnya, lihat [Memahami percakapan bot Amazon Lex V2](managing-conversations.md).

interpretasi  
Daftar maksud yang ditentukan Amazon Lex V2 dapat memuaskan ucapan pengguna. [Menggunakan skor kepercayaan diri untuk meningkatkan akurasi percakapan](confidence-scores.md).

InterpretasiSumber  
Menunjukkan apakah slot diselesaikan oleh Amazon Lex V2 atau Amazon Bedrock. Nilai: Lex \$1 Bedrock

sessionId  
Pengidentifikasi sesi pengguna yang melakukan percakapan.

inputTranscript  
Transkripsi input dari pengguna.  
+ Untuk input teks, ini adalah teks yang diketik pengguna. Untuk input DTMF, ini adalah kunci yang dimasukkan pengguna.
+ Untuk input ucapan, ini adalah teks yang digunakan Amazon Lex V2 untuk mengonversi ucapan pengguna untuk memanggil maksud atau mengisi slot.

rawInputTranscript  
Transkrip mentah dari input pengguna sebelum pemrosesan teks diterapkan. Catatan: Pemrosesan teks hanya untuk lokal en-US dan en-GB.

transkripsi  
Daftar transkripsi potensial dari input pengguna. Untuk informasi selengkapnya, lihat [Menggunakan skor kepercayaan transkripsi suara untuk meningkatkan percakapan dengan bot Lex V2 Anda](using-transcript-confidence-scores.md). 

RawTranskripsi  
Menggunakan skor kepercayaan transkripsi suara. Untuk informasi selengkapnya, lihat [Menggunakan skor kepercayaan transkripsi suara untuk meningkatkan percakapan dengan bot Lex V2 Anda](using-transcript-confidence-scores.md). 

MisseDutterance  
Menunjukkan apakah Amazon Lex V2 dapat mengenali ucapan pengguna.

requestId  
Amazon Lex V2 menghasilkan ID permintaan untuk input pengguna.

timestamp  
Stempel waktu input pengguna.

DeveloperOverride  
Menunjukkan apakah alur percakapan diperbarui menggunakan hook kode dialog. Untuk informasi selengkapnya tentang menggunakan hook kode dialog, lihat[Mengintegrasikan AWS Lambda fungsi ke bot Amazon Lex V2 Anda](lambda.md).

InputMode  
Menunjukkan jenis input. Bisa audio, DTMF, atau teks.

requestAttributes  
Atribut permintaan yang digunakan saat memproses input pengguna.

AudioProperties  
Jika log percakapan audio diaktifkan dan input pengguna dalam format audio, termasuk total durasi input audio, durasi suara dan durasi keheningan dalam audio. Ini juga termasuk tautan ke file audio.

BargeIn  
Menunjukkan apakah input pengguna mengganggu respons bot sebelumnya.

ResponseReason  
Alasan respons dihasilkan. Bisa menjadi salah satu dari:  
+ `UtteranceResponse`— respon terhadap masukan pengguna
+ `StartTimeout`— respons yang dihasilkan server saat pengguna tidak memberikan masukan
+ `StillWaitingResponse`— respons yang dihasilkan server saat pengguna meminta bot menunggu
+ `FulfillmentInitiated`— respons yang dihasilkan server bahwa pemenuhan akan dimulai
+ `FulfillmentStartedResponse`— server menghasilkan respons bahwa pemenuhan telah dimulai
+ `FulfillmentUpdateResponse`— respons yang dihasilkan server berkala saat pemenuhan sedang berlangsung
+ `FulfillmentCompletedResponse`— respons yang dihasilkan server saat pemenuhan selesai.

operationName  
API digunakan untuk berinteraksi dengan bot. Bisa menjadi salah satu`PutSession`,`RecognizeText`,`RecognizeUtterance`, atau`StartConversation`.

```
{
    "message-version": "2.0",
    "bot": {
        "id": "string",
        "name": "string",
        "aliasId": "string",
        "aliasName": "string",
        "localeId": "string",
        "version": "string"
    },
    "messages": [
        {
            "contentType": "PlainText | SSML | CustomPayload | ImageResponseCard",
            "content": "string",
            "imageResponseCard": {
                "title": "string",
                "subtitle": "string",
                "imageUrl": "string",
                "buttonsList": [
                    {
                        "text": "string",
                        "value": "string"
                    }
                ]
            }
        }
    ],
    "utteranceContext": {
        "activeRuntimeHints": {
            "slotHints": {
                "string": {
                    "string": {
                        "runtimeHintValues": [
                            {
                                "phrase": "string"
                            },
                            {
                                "phrase": "string"
                            }
                        ]
                    }
                }
            }
        },
        "slotElicitationStyle": "string"
    },
    "sessionState": {
        "dialogAction": {
            "type": "Close | ConfirmIntent | Delegate | ElicitIntent | ElicitSlot",
            "slotToElicit": "string"
        },
        "intent": {
            "name": "string",
            "slots": {
                "string": { 
                    "value": { 
                       "interpretedValue": "string",
                       "originalValue": "string",
                       "resolvedValues": [ "string" ]
                    }
                 },  
                "string": {
                    "shape": "List",
                    "value": {
                        "originalValue": "string",
                        "interpretedValue": "string",
                        "resolvedValues": [ "string" ]
                    },
                    "values": [
                        {
                            "shape": "Scalar",
                            "value": {
                                "originalValue": "string",
                                "interpretedValue": "string",
                                "resolvedValues": [ "string" ]
                            }
                        },
                        {
                            "shape": "Scalar",
                            "value": {
                                "originalValue": "string",
                                "interpretedValue": "string",
                                "resolvedValues": [ "string" ]
                            }
                        }
                    ]
                }
            },
            "kendraResponse": {
                // Only present when intent is KendraSearchIntent. For details, see 
                // https://docs.aws.amazon.com/kendra/latest/dg/API_Query.html#API_Query_ResponseSyntax
                },
            "state": "InProgress | ReadyForFulfillment | Fulfilled | Failed",
            "confirmationState": "Confirmed | Denied | None"
        },
        "originatingRequestId": "string",
        "sessionAttributes": {
            "string": "string"
        },
        "runtimeHints": {
            "slotHints": {
                "string": {
                    "string": {
                        "runtimeHintValues": [
                            {
                                "phrase": "string"
                            },
                            {
                                "phrase": "string"
                            }
                        ]
                    }
                }
            }
        }
    },
   "dialogEventLogs": [
        {
	  // only for conditional
     "conditionalEvaluationResult":[
      // all the branches until true

     {
     "conditionalBranchName": "string",
     "expressionString": "string",
     "evaluatedExpression": "string",
     "evaluationResult": "true | false"
     }
    ],
  "dialogCodeHookInvocationLabel": "string",
  "response": "string",
  "nextStep": {
        "dialogAction": {
            "type": "Close | ConfirmIntent | Delegate | ElicitIntent | ElicitSlot",
            "slotToElicit": "string"
        },
	      "intent": {
                          "name": "string",
           "slots": {
               }
        }
       }
    ]
    "interpretations": [
        {
            "interpretationSource": "Bedrock | Lex",
            "nluConfidence": "string",
            "intent": {
                "name": "string",
                "slots": {
                    "string": {
                        "value": {
                            "originalValue": "string",
                            "interpretedValue": "string",
                            "resolvedValues": [ "string" ]
                        }
                    },
                    "string": {
                        "shape": "List",
                        "value": {
                            "interpretedValue": "string",
                            "originalValue": "string",
                            "resolvedValues": [ "string" ]
                        },
                        "values": [
                            {
                                "shape": "Scalar",
                                "value": {
                                    "interpretedValue": "string",
                                    "originalValue": "string",
                                    "resolvedValues": [ "string" ]
                                }
                            },
                            {
                                "shape": "Scalar",
                                "value": {
                                    "interpretedValue": "string",
                                    "originalValue": "string",
                                    "resolvedValues": [ "string" ]
                                }

                            }
                        ]
                    }
                },
                "kendraResponse": {
                    // Only present when intent is KendraSearchIntent. For details, see 
                    // https://docs.aws.amazon.com/kendra/latest/dg/API_Query.html#API_Query_ResponseSyntax
                    },
                "state": "InProgress | ReadyForFulfillment | Fulfilled | Failed",
                "confirmationState": "Confirmed | Denied | None"
                },
            "sentimentResponse": {
                "sentiment": "string",
                "sentimentScore": {
                    "positive": "string",
                    "negative": "string",
                    "neutral": "string",
                    "mixed": "string"
                }
            }
        }
    ],
    "sessionId": "string",
    "inputTranscript": "string",
    "rawInputTranscript": "string",
    "transcriptions": [
        {
            "transcription": "string",
            "rawTranscription": "string",
            "transcriptionConfidence": "number",
            },
            "resolvedContext": {
                "intent": "string"
            },
            "resolvedSlots": {
                "string": {
                    "name": "slotName",
                    "shape": "List",
                    "value": { 
                        "originalValue": "string",
                        "resolvedValues": [
                            "string"
                        ]
                    }
                }
            }
        }
    ],
    "missedUtterance": "bool",
    "requestId": "string",
    "timestamp": "string",
    "developerOverride": "bool",
    "inputMode": "DTMF | Speech | Text",
    "requestAttributes": {
        "string": "string"
    },
    "audioProperties": {
        "contentType": "string",
        "s3Path": "string",
        "duration": {
            "total": "integer",
            "voice": "integer",
            "silence": "integer"
        }
    },
    "bargeIn": "string",
    "responseReason": "string",
    "operationName": "string"
}
```

Isi entri log tergantung pada hasil transaksi dan konfigurasi bot dan permintaan.
+ `slotToElicit`Bidang `intent``slots`,, dan tidak muncul dalam entri jika `missedUtterance` bidang tersebut`true`.
+ `s3PathForAudio`Bidang tidak muncul jika log audio dinonaktifkan atau jika `inputDialogMode` bidangnya`Text`.
+ `responseCard`Bidang hanya muncul ketika Anda telah menentukan kartu respons untuk bot.
+ `requestAttributes`Peta hanya muncul jika Anda telah menentukan atribut permintaan dalam permintaan.
+ `kendraResponse`Bidang ini hanya ada ketika `AMAZON.KendraSearchIntent` membuat permintaan untuk mencari indeks Amazon Kendra.
+ `developerOverride`Bidang ini benar ketika maksud alternatif ditentukan dalam fungsi Lambda bot.
+ `sessionAttributes`Peta hanya muncul jika Anda telah menentukan atribut sesi dalam permintaan.
+ `sentimentResponse`Peta hanya muncul jika Anda mengonfigurasi bot untuk mengembalikan nilai sentimen.

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

# Mengakses log audio di Amazon S3
<a name="conversation-logs-s3"></a>

Amazon Lex V2 menyimpan log audio untuk percakapan Anda dalam ember S3. 

Anda dapat menggunakan konsol Amazon S3 atau API untuk mengakses log audio. Anda dapat melihat awalan key objek S3 dari file audio di konsol Amazon Lex V2, atau di bidang `conversationLogSettings` dalam respons operasi`DescribeBotAlias`.

# Memantau status log percakapan dengan CloudWatch metrik
<a name="conversation-logs-monitoring"></a>

Gunakan Amazon CloudWatch untuk memantau metrik pengiriman log percakapan Anda. Anda dapat menyetel alarm pada metrik sehingga Anda mengetahui masalah dengan pencatatan jika terjadi.

Amazon Lex V2 menyediakan empat metrik di `AWS/Lex` namespace untuk log percakapan:
+ `ConversationLogsAudioDeliverySuccess`
+ `ConversationLogsAudioDeliveryFailure`
+ `ConversationLogsTextDeliverySuccess`
+ `ConversationLogsTextDeliveryFailure`

Metrik keberhasilan menunjukkan bahwa Amazon Lex V2 telah berhasil menulis log audio atau teks Anda ke tujuan mereka. 

Metrik kegagalan menunjukkan bahwa Amazon Lex V2 tidak dapat mengirimkan log audio atau teks ke tujuan yang ditentukan. Biasanya, ini adalah kesalahan konfigurasi. Jika metrik kegagalan Anda di atas nol, periksa hal berikut:
+ Pastikan Amazon Lex V2 adalah entitas tepercaya untuk peran IAM.
+ Untuk pencatatan teks, pastikan grup CloudWatch log Log ada. Untuk pencatatan audio, pastikan bucket S3 ada.
+ Pastikan bahwa peran IAM yang digunakan Amazon Lex V2 untuk mengakses grup CloudWatch log Log atau bucket S3 memiliki izin menulis untuk grup log atau bucket.
+ Pastikan bucket S3 ada di wilayah yang sama dengan bot Amazon Lex V2 dan milik akun Anda.

# Mengaburkan nilai slot dalam log percakapan dari Lex V2
<a name="monitoring-obfuscate"></a>

Amazon Lex V2 memungkinkan Anda untuk mengaburkan, atau menyembunyikan, isi slot sehingga konten tidak terlihat. Untuk melindungi data sensitif yang diambil sebagai nilai slot, Anda dapat mengaktifkan slot obfuscation untuk menutupi nilai-nilai tersebut untuk logging.

Ketika Anda memilih untuk mengaburkan nilai slot, Amazon Lex V2 menggantikan nilai slot dengan nama slot di log percakapan. Untuk slot yang disebut`full_name`, nilai slot akan dikaburkan sebagai berikut:

```
Before:
    My name is John Stiles
After:
    My name is {full_name}
```

Jika ucapan berisi karakter braket (\$1\$1) Amazon Lex V2 lolos dari karakter braket dengan dua garis miring belakang (\$1\$1). Misalnya, teks `{John Stiles}` dikaburkan sebagai berikut:

```
Before:
    My name is {John Stiles}
After:
    My name is \\{{full_name}\\}
```

Nilai slot dikaburkan dalam log percakapan. Nilai slot masih tersedia dalam respons dari `RecognizeText` dan `RecognizeUtterance` operasi, dan nilai slot tersedia untuk validasi dan pemenuhan fungsi Lambda Anda. Jika Anda menggunakan nilai slot dalam permintaan atau tanggapan Anda, nilai slot tersebut tidak dikaburkan dalam log percakapan.

Pada giliran pertama percakapan, Amazon Lex V2 mengaburkan nilai slot jika mengenali nilai slot dan slot dalam ucapan. Jika tidak ada nilai slot yang dikenali, Amazon Lex V2 tidak mengaburkan ucapannya.

Pada putaran kedua dan selanjutnya, Amazon Lex V2 tahu slot yang akan diperoleh dan apakah nilai slot harus dikaburkan. Jika Amazon Lex V2 mengenali nilai slot, nilainya dikaburkan. Jika Amazon Lex V2 tidak mengenali nilai, seluruh ucapan dikaburkan. Nilai slot apa pun dalam ucapan yang terlewat tidak akan dikaburkan.

Amazon Lex V2 juga tidak mengaburkan nilai slot yang Anda simpan dalam atribut permintaan atau sesi. Jika Anda menyimpan nilai slot yang harus dikaburkan sebagai atribut, Anda harus mengenkripsi atau mengaburkan nilainya.

Amazon Lex V2 tidak mengaburkan nilai slot dalam audio. Itu mengaburkan nilai slot dalam transkripsi audio.

Anda dapat memilih slot mana yang akan dikaburkan dengan menggunakan konsol atau dengan menggunakan Amazon Lex V2 API. Di konsol, pilih **Kekaburan slot** di pengaturan untuk slot. Jika Anda menggunakan API, atur `obfuscationSetting` bidang slot ke `DEFAULT_OBFUSCATION` saat Anda memanggil [CreateSlot](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_CreateSlot.html)atau [UpdateSlot](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_UpdateSlot.html)operasi.

# Pengambilan log percakapan selektif di Lex V2
<a name="monitoring-selective-logging"></a>

Pengambilan log percakapan selektif memungkinkan pengguna untuk memilih bagaimana log percakapan ditangkap dengan data teks dan audio dari percakapan langsung.

Untuk mengaktifkan dan menangkap output dari fitur pengambilan log percakapan selektif, Anda harus mengaktifkan fitur di konsol Amazon Lex V2, dan mengaktifkan atribut sesi yang diperlukan dalam pengaturan API untuk menangkap output yang dipilih dari log.

Anda dapat memilih opsi berikut untuk pengambilan log percakapan selektif:
+ teks saja
+ hanya audio
+ teks dan audio

Anda dapat menangkap bagian tertentu dari percakapan, dan memilih apakah audio, teks, atau keduanya ditangkap untuk log percakapan. 

**catatan**  
Pengambilan log percakapan selektif hanya berfungsi untuk Amazon Lex V2.

**Topics**
+ [Kelola pengambilan log percakapan selektif](manage-selective-logging.md)
+ [Contoh pengambilan log percakapan selektif](example-selective-logging.md)

# Kelola pengambilan log percakapan selektif
<a name="manage-selective-logging"></a>

Dengan menggunakan konsol Lex, Anda dapat mengaktifkan pengaturan pengambilan log percakapan selektif dan memilih slot mana yang ingin Anda aktifkan pengambilan rekaman log percakapan selektif.

**Aktifkan pengambilan log percakapan selektif di konsol Amazon Lex V2:**

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

1. Pilih **Bot** dari panel sisi kiri dan pilih bot yang ingin Anda aktifkan pengambilan log percakapan selektif. Gunakan bot yang sudah ada atau buat yang baru.

1. Pilih **Alias** untuk bot yang Anda pilih di bawah bagian **Deployment** di panel sisi kiri.

1. Pilih Alias bot Anda, lalu pilih **Kelola log percakapan**.

1. Di panel **Kelola log percakapan**, untuk **log Teks**, pilih apakah log teks diaktifkan atau dinonaktifkan dengan memilih tombol radio. Jika Anda memilih **Diaktifkan** untuk log teks, maka Anda harus memasukkan **nama grup Log atau memilih nama** grup log yang ada dari menu tarik-turun. Pilih kotak centang untuk **Log ucapan secara selektif** jika Anda secara selektif mencatat file teks.
**catatan**  
Aktifkan log and/or audio teks dengan memilih kotak centang **Ucapan log selektif** di **pengaturan log percakapan ( and/or audio teks) dalam pengaturan** waktu pembuatan. **BotAlias** Anda harus mengonfigurasi grup CloudWatch log dan bucket Amazon S3 untuk memilih opsi ini.

1. Di bagian **Log audio**, pilih apakah log audio diaktifkan atau dinonaktifkan dengan memilih tombol radio. Jika Anda memilih **Diaktifkan** untuk log audio, Anda harus menentukan lokasi bucket Amazon S3 dan (opsional) kunci KMS untuk mengenkripsi data audio Anda. Pilih kotak centang untuk **Ucapan log selektif** jika Anda secara selektif mencatat file audio.  
![\[Panel untuk mengelola log percakapan.\]](http://docs.aws.amazon.com/id_id/lexv2/latest/dg/images/logging/selective-manage-logs.png)

1. Pilih **Simpan** di sudut kanan bawah panel untuk menyimpan pengaturan pengambilan log percakapan selektif Anda.

**Aktifkan pengambilan log percakapan selektif di konsol Amazon Lex V2:**

1. Buka **Intent** dan pilih **nama Intent**, **Initial Response**, **Advanced Settings**, **Set Values**, **Session** Attributes.

1. Setel atribut berikut ke berdasarkan maksud dan slot yang ingin Anda aktifkan pengambilan log percakapan selektif: 
   + `x-amz-lex:enable-audio-logging:intent:slot = "true"`
   + `x-amz-lex:enable-text-logging:intent:slot = "true"`  
![\[Panel untuk menambahkan atribut sesi selektif.\]](http://docs.aws.amazon.com/id_id/lexv2/latest/dg/images/logging/selective-session-attributes.png)
**catatan**  
Atur `x-amz-lex:enable-audio-logging:intent:slot = "true"` untuk menangkap ucapan yang hanya berisi slot tertentu dalam percakapan. Tindakan untuk mencatat ucapan tergantung pada penilaian*intent *: *slot* dalam ucapan, dibandingkan dengan ekspresi atribut sesi, dan nilai flag yang sesuai. Untuk mencatat ucapan, setidaknya satu ekspresi dalam atribut session harus mengizinkannya, dengan flag enable logging disetel ke. `true` Nilai *intent* dan *slot* bisa `"*"` juga. Jika nilai and/or maksud slot adalah`"*"`, itu berarti bahwa setiap nilai and/or maksud slot `"*"` akan cocok dengannya. Mirip dengan`x-amz-lex:enable-audio-logging`, atribut sesi baru yang disebut `x-amz-lex:enable-text-logging` akan digunakan untuk mengontrol log teks.

1. Pilih **opsi Perbarui** dan buat bot untuk menyertakan pengaturan yang diperbarui.

**catatan**  
Peran IAM Anda harus memiliki izin akses untuk memungkinkan Anda menulis data ke bucket Amazon S3 dan menggunakan kunci KMS untuk mengenkripsi data. Lex akan memperbarui peran IAM Anda dengan izin Lex untuk mengakses grup CloudWatch log Log dan bucket Amazon S3 yang dipilih.

**Pedoman untuk menggunakan penangkapan log percakapan selektif:**

Anda hanya dapat mengaktifkan penangkapan log percakapan selektif untuk log and/or audio teks, jika Anda telah mengaktifkan log and/or audio teks di **pengaturan log Percakapan**. Dengan mengaktifkan pengambilan log percakapan selektif untuk log and/or audio teks, Anda menonaktifkan pencatatan untuk semua maksud dan slot dalam percakapan. Untuk menghasilkan log and/or audio teks untuk maksud dan slot tertentu, Anda harus mengatur atribut sesi pengambilan log percakapan selektif or/and audio teks untuk maksud dan slot tersebut ke “true”. 
+ Jika pengambilan log percakapan selektif diaktifkan, dan tidak ada atribut sesi dengan awalan x-amz-lex: enable-audio-logging ada, logging akan dinonaktifkan secara default untuk semua ucapan. Skenario ini juga berlaku mengenai x-amz-lex:enable-text-logging.
+ Log ucapan akan disimpan secara eksklusif untuk segmen percakapan and/or audio teks jika setidaknya satu ekspresi dalam atribut sesi mengizinkannya.
+ Konfigurasi untuk pengambilan log percakapan selektif and/or audio teks, seperti yang didefinisikan dalam atribut sesi, akan efektif hanya jika pengambilan log percakapan selektif untuk and/or audio teks diaktifkan di Pengaturan Log Percakapan dalam alias bot; jika tidak, atribut sesi akan diabaikan.
+ Saat pengambilan log percakapan selektif diaktifkan, nilai slot apa pun di SessionState, Interpretasi, dan Transkripsi yang pendataannya tidak diaktifkan menggunakan atribut sesi akan dikaburkan dalam log teks yang dihasilkan.
+ Keputusan untuk menghasilkan log and/or teks audio dievaluasi dengan mencocokkan slot yang ditimbulkan oleh bot dengan atribut sesi pengambilan log percakapan selektif, kecuali untuk giliran elisitasi maksud di mana pengguna dapat memberikan nilai slot bersama dengan elisitasi maksud. Pada giliran elisitasi maksud, slot yang diisi pada giliran saat ini dicocokkan dengan atribut sesi pengambilan log percakapan selektif. 
+ Slot yang dianggap terisi berasal dari keadaan sesi di akhir giliran. Oleh karena itu, setiap perubahan yang dilakukan oleh Lambda Codehook Dialog ke slot dalam status sesi akan memengaruhi perilaku pengambilan log percakapan selektif. 
+ Pada giliran elisitasi maksud, jika beberapa nilai slot diberikan oleh pengguna, log and/or audio teks hanya akan dihasilkan jika atribut text/audio sesi memungkinkan pencatatan untuk semua slot yang diisi pada giliran ini. 
+ Pendekatan operasional yang disarankan adalah mengatur atribut sesi pengambilan log percakapan selektif di awal sesi dan menahan diri untuk tidak memodifikasinya selama sesi.
+ Jika ada slot yang berisi data sensitif, Anda harus selalu mengaktifkan pengaburan slot.

# Contoh pengambilan log percakapan selektif
<a name="example-selective-logging"></a>

Berikut adalah contoh kasus penggunaan bisnis untuk pengambilan log percakapan selektif.

**Kasus penggunaan:**

Perusahaan fintech menggunakan bot Amazon Lex V2 untuk mendukung sistem IVR mereka, yang memungkinkan pengguna melakukan pembayaran tagihan. Untuk memenuhi persyaratan kepatuhan dan audit, mereka harus menyimpan rekaman audio dari persetujuan otorisasi yang diberikan pengguna. Namun, mengaktifkan log audio umum tidak layak karena akan membuatnya tidak sesuai, karena tidak mungkin untuk mengaburkan slot sensitif seperti, CVV CardNumber, dan informasi lainnya di log audio. Sebagai gantinya, mereka dapat mengaktifkan pengambilan log percakapan selektif untuk log audio dan mengatur atribut sesi untuk hanya menghasilkan log audio untuk ucapan yang memiliki persetujuan otorisasi.

**BotAlias Pengaturan**:
+ Log Teks Diaktifkan: true 
+ Log Teks Logging Selektif Diaktifkan: false
+ Log Audio Diaktifkan: benar 
+ Logging Selektif Log Audio Diaktifkan: true 

**Atribut Sesi:**

`x-amz-lex:enable-audio-logging:PayBill:AuthorizationConsent = "true"`

**Contoh Percakapan:**
+ Pengguna (Input Audio): “Saya ingin membayar tagihan saya dengan nomor tagihan 35XU68.”
+ Bot: “Berapa jumlah jatuh tempo dalam dolar?”
+ Pengguna (Input Audio): “235.”
+ Bot: “Berapa nomor kartu kredit Anda?”
+ Pengguna (Masukan Audio): “9239829722200348.”
+ Bot: “Anda membayar 235 dolar menggunakan nomor kartu kredit Anda yang diakhiri dengan 0348. Tolong katakan 'Saya memberi wewenang untuk membayar 235 dolar. '”
+ Pengguna (Input Audio): “Saya berwenang untuk membayar 235 dolar.”
+ Bot: “Tagihan Anda telah dibayar.”

**Keluaran Log Percakapan:**

Dalam situasi ini, log teks akan diproduksi untuk semua belokan. Namun, log audio hanya akan direkam untuk giliran tertentu ketika **AuthorizationConsent**slot dalam **PayBill**maksud diperoleh, dan tidak ada log audio yang akan diproduksi untuk giliran lainnya.