

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Registro em log de conversas com logs de conversas no Lex V2
<a name="conversation-logs"></a>

Você habilita *logs de conversa* para armazenar interações com o bot. Você pode usar esses logs para examinar o desempenho do bot e solucionar problemas com conversas. Você pode criar logs de texto para a operação [RecognizeText](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_runtime_RecognizeText.html). É possível criar logs de texto e áudio para a operação [RecognizeUtterance](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_runtime_RecognizeUtterance.html). Ao habilitar os logs de conversa, você obtém uma visão detalhada das conversas que os usuários têm com seu bot.

Por exemplo, uma sessão com seu bot tem um ID de sessão. É possível usar esse ID para obter a transcrição da conversa, incluindo declarações do usuário e as respostas correspondentes do bot. Você também obtém metadados, como nome de intenção e valores de slot para uma declaração.

**nota**  
Não é possível usar logs de conversa com um bot sujeito à Lei de Proteção de Privacidade Online das Crianças (COPPA).

Os logs de conversa são configurados para um alias. Cada alias pode ter configurações diferentes para seus logs de texto e áudio. É possível habilitar logs de texto, logs de áudio ou os dois para cada alias. Os registros de texto armazenam entradas de texto, transcrições de entrada de áudio e metadados associados nos registros. CloudWatch Os logs de áudio armazenam entrada de áudio no Amazon S3. Você pode ativar a criptografia de registros de texto e áudio usando o gerenciamento de AWS KMS clientes CMKs.

Para configurar o registro, use o console ou a [UpdateBotAlias](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_UpdateBotAlias.html)operação [CreateBotAlias](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_CreateBotAlias.html)ou. Depois de ativar os registros de conversação para um alias, usar a [RecognizeUtterance](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_runtime_RecognizeUtterance.html)operação [RecognizeText](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_runtime_RecognizeText.html)ou para esse alias registra as declarações de texto ou áudio no grupo de registros de CloudWatch registros configurado ou no bucket do S3.

**Topics**
+ [Políticas do IAM para logs de conversa](conversation-logs-policies.md)
+ [Configuração de logs de conversas para seu bot do Lex V2](conversation-logs-configure.md)
+ [Visualização de registros de texto no Amazon CloudWatch Logs a partir do Lex V2](conversation-logs-cw.md)
+ [Acessar logs de áudio no Amazon S3](conversation-logs-s3.md)
+ [Monitorando o status do registro de conversas com CloudWatch métricas](conversation-logs-monitoring.md)

# Políticas do IAM para logs de conversa
<a name="conversation-logs-policies"></a>

Dependendo do tipo de registro selecionado, o Amazon Lex V2 exige permissão para usar os buckets Amazon CloudWatch Logs e Amazon Simple Storage Service (S3) para armazenar seus registros. Você deve criar funções e permissões do AWS Identity and Access Management para permitir que o Amazon Lex V2 acesse esses recursos. 

## Criar um perfil e políticas do IAM para logs de conversa
<a name="conversation-logs-role-and-policy"></a>

Para habilitar registros de conversas, você deve conceder permissão de gravação para CloudWatch Logs e Amazon S3. Se você habilitar a criptografia de objetos para seus objetos do S3, precisará conceder permissão de acesso às AWS KMS chaves usadas para criptografar os objetos. 

Você pode usar o console do IAM, a API do IAM ou o AWS Command Line Interface para criar a função e as políticas. Essas instruções usam a CLI da AWS para criar a função e as políticas.

**nota**  
O código a seguir é formatado para Linux e MacOS. Para Windows, substitua o caractere de continuação de linha do Linux (\$1) pelo circunflexo (^).



**Para criar um perfil do IAM para logs de conversa**

1. Crie um documento no diretório atual chamado **LexConversationLogsAssumeRolePolicyDocument.json**, adicione o código a seguir a ele e salve-o. Esse documento de política adiciona o Amazon Lex V2 como uma entidade confiável ao perfil. Isso permite que o Amazon Lex V2 assuma a função de entregar registros aos recursos configurados para registros de conversas.

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

****  

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

------

1. Na AWS CLI, execute o comando a seguir para criar a função do IAM para registros de conversas.

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

Em seguida, crie e anexe uma política à função que permite que o Amazon Lex V2 grave em CloudWatch Logs. 

**Para criar uma política do IAM para registrar o texto da conversa no CloudWatch Logs**

1. Crie um documento no diretório atual chamado **LexConversationLogsCloudWatchLogsPolicy.json**, adicione a ele a política do IAM a seguir e salve-o.

1. Na AWS CLI, crie a política do IAM que concede permissão de gravação ao grupo de CloudWatch registros de registros.

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

1. Associe a política ao perfil do IAM criado para logs de conversa.

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

Se você estiver criando logs de áudio em um bucket do S3, crie uma política que permita ao Amazon Lex V2 gravar no bucket.

**Como criar uma política do IAM para criar logs de áudio em um bucket do S3**

1. Crie um documento no diretório atual chamado **LexConversationLogsS3Policy.json**, adicione a ele a política a seguir e salve-o.

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

****  

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

------

1. Na AWS CLI, crie a política do IAM que concede permissão de gravação ao seu bucket do S3.

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

1. Associe a política ao perfil criado para logs de conversa.

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

## Conceder permissão para passar um perfil do IAM
<a name="conversation-logs-pass-role"></a>

Quando você usa o console AWS Command Line Interface, o ou um SDK da AWS para especificar uma função do IAM a ser usada para registros de conversas, o usuário que especifica a função IAM dos registros de conversação deve ter permissão para passar a função para o Amazon Lex V2. Para permitir que o usuário passe o perfil ao Amazon Lex V2, é necessário conceder a permissão de `PassRole` ao usuário do IAM, ao perfil ou ao grupo do usuário. 

A política a seguir define a permissão que será concedida ao usuário, ao perfil ou ao grupo. É possível usar as chaves de condição `iam:AssociatedResourceArn` e `iam:PassedToService` para limitar o escopo da permissão. Para obter mais informações, consulte [Conceder permissões a um usuário para passar uma função para um serviço da AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_passrole.html) e [chaves de contexto de IAM e AWS STS condição](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_iam-condition-keys.html) no *Guia do usuário do 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"
                }
            }
        }
    ]
}
```

------

# Configuração de logs de conversas para seu bot do Lex V2
<a name="conversation-logs-configure"></a>

Habilite e desabilite os logs de conversa usando o console ou o campo `conversationLogSettings` da operação `CreateBotAlias` ou `UpdateBotAlias`. É possível ativar ou desativar logs de áudio, logs de texto ou ambos. O registro em log começa em novas sessões do bot. As alterações nas configurações de log não são refletidas nas sessões ativas.

Para armazenar registros de texto, use um grupo de CloudWatch registros do Amazon Logs na sua conta da AWS. É possível usar qualquer grupo de logs válido. O grupo de logs deve estar na mesma região que o bot do Amazon Lex V2. Para obter mais informações sobre a criação de um grupo de CloudWatch registros de registros, consulte Como [trabalhar com grupos de registros e fluxos](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html) de registros no *Guia do usuário do Amazon CloudWatch Logs*.

Para armazenar registros de áudio, use um bucket Amazon S3 em sua conta da AWS. É possível usar qualquer bucket válido do S3. O bucket deve estar na mesma região que o bot do Amazon Lex V2. Para mais informações sobre como criar um bucket do Amazon S3, consulte [Criar um bucket](https://docs.aws.amazon.com/AmazonS3/latest/gsg/CreatingABucket.html) no *Guia de conceitos básicos do Amazon Simple Storage Service*.

Quando você gerencia logs de conversas usando o console, o console atualiza seu perfil de serviço para que tenha acesso ao grupo de logs e ao bucket do S3.

Se você não estiver usando o console, é necessário fornecer um perfil do IAM com políticas que permitam ao Amazon Lex V2 gravar no grupo de logs ou no bucket configurado. Se você criar uma função vinculada ao serviço usando o AWS Command Line Interface, deverá adicionar um sufixo personalizado à função usando a `custom-suffix` opção, como no exemplo a seguir. Para obter mais informações, consulte [Criar um perfil e políticas do IAM para logs de conversa](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
```

O perfil do IAM utilizado para habilitar logs de conversa deve ter a permissão `iam:PassRole`. A política a seguir deve ser anexada ao perfil:

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

****  

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

------

## Ativar logs de conversa
<a name="conversation-logs-enable"></a>

**Para ativar os logs usando o console**

1. Abra o console do Amazon Lex V2 [https://console.aws.amazon.com/lexv2](https://console.aws.amazon.com/lexv2).

1. Na lista, escolha um bot.

1. No menu à esquerda, selecione **Aliases**.

1. Na lista de aliases, escolha o alias para o qual você deseja configurar logs de conversa.

1. Na seção **Logs de conversas**, escolha **Gerenciar logs de conversas**. 

1. Para registros de texto, escolha **Ativar** e insira o nome do grupo de CloudWatch registros do Amazon Logs.

1. Para logs de áudio, escolha **Ativar** e, em seguida, insira as informações do bucket do S3.

1. Opcional. Para criptografar registros de áudio, escolha a AWS KMS chave a ser usada para criptografia.

1. Escolha **Salvar** para iniciar o registro em log de conversas. Se necessário, o Amazon Lex V2 atualizará sua função de serviço com permissões para acessar o grupo de CloudWatch logs de registros e o bucket S3 selecionado.

## Como desabilitar logs de conversas no Lex V2
<a name="conversation-logs-disable"></a>

**Como desativar os logs usando o console**

1. Abra o console do Amazon Lex V2 [https://console.aws.amazon.com/lexv2](https://console.aws.amazon.com/lexv2).

1. Na lista, escolha um bot.

1. No menu à esquerda, selecione **Aliases**.

1. Na lista de aliases, escolha o alias para o qual você deseja configurar logs de conversa.

1. Na seção **Logs de conversas**, escolha **Gerenciar logs de conversas**.

1. Desative o log de texto, log de áudio ou ambos para desativar a criação de logs.

1. Escolha **Salvar** para interromper o registro em log de conversas.

# Visualização de registros de texto no Amazon CloudWatch Logs a partir do Lex V2
<a name="conversation-logs-cw"></a>

O Amazon Lex V2 armazena registros de texto para suas conversas no Amazon CloudWatch Logs. Para ver os registros, use o console de CloudWatch registros ou a API. Para obter mais informações, consulte [Pesquisar dados de log usando padrões de filtro](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/SearchDataFilterPattern.html) e [sintaxe de consulta do CloudWatch Logs Insights](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_QuerySyntax.html) no *Guia do usuário do Amazon CloudWatch Logs*.

**Para visualizar os logs usando o console do Amazon Lex V2**

1. Abra o console do Amazon Lex V2 [https://console.aws.amazon.com/lexv2](https://console.aws.amazon.com/lexv2).

1. Na lista, escolha um bot.

1. No menu à esquerda, escolha **Analytics** e, em seguida, escolha **CloudWatch métricas**.

1. Veja as métricas do seu bot na página de **CloudWatch métricas**.

Você também pode usar o CloudWatch console ou a API para visualizar suas entradas de registro. Para localizar as entradas de log, navegue até o grupo de logs configurado para o alias. Você pode encontrar o prefixo do stream de logs para seus registros no console do Amazon Lex V2 ou usando a [DescribeBotAlias](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_DescribeBotAlias.html)operação. 

As entradas de log para uma expressão de usuário estão em vários fluxos de log. Uma declaração na conversa tem uma entrada em um dos fluxos de log com o prefixo especificado. Uma entrada no fluxo de log contém as seguintes informações.

message-version  
A versão do esquema de mensagem.

bot  
Detalhes sobre o bot com o qual o cliente está interagindo.

mensagens  
A resposta que o bot enviou de volta ao usuário.

utteranceContext  
Informações sobre o processamento desse enunciado.  
+ `runtimeHints`—contexto de runtime usado para transcrever e interpretar a entrada do usuário. Para obter mais informações, consulte [Como melhorar o reconhecimento de valores de slots com dicas de runtime na conversa](using-hints.md).
+ `slotElicitationStyle`—Estilo de elicitação de slots usado para interpretar a entrada do usuário. Para obter mais informações, consulte [Captura de valores de slots com estilos ortográficos durante a conversa](spelling-styles.md).

sessionState  
O estado atual da conversa entre o usuário e o bot. Para obter mais informações, consulte [Entendendo as conversas de bots do Amazon Lex V2](managing-conversations.md).

interpretations  
Uma lista de intenções que o Amazon Lex V2 determinou que poderiam satisfazer o enunciado do usuário. [Uso de pontuações de confiança para melhorar a precisão da conversa](confidence-scores.md).

interpretationSource  
Indica se um slot é resolvido pelo Amazon Lex V2 ou pelo Amazon Bedrock. Valores: Lex \$1 Bedrock

sessionId  
O identificador da sessão do usuário que está tendo a conversa.

inputTranscript  
Uma transcrição da entrada do usuário.  
+ Para entrada de texto, esse é o texto que o usuário digitou. Para entrada DTMF, essa é a chave que o usuário insere.
+ Para entrada de voz, esse é o texto no qual o Amazon Lex V2 converte o enunciado do usuário para invocar uma intenção ou preencher um slot.

rawInputTranscript  
A transcrição bruta da entrada do usuário antes de qualquer processamento de texto. Observação: o processamento de texto é somente para localidades en-US e en-GB.

transcriptions  
Uma lista de possíveis transcrições da entrada do usuário. Para obter mais informações, consulte [Uso de pontuações de confiança na transcrição de voz para melhorar as conversas com seu bot do Lex V2](using-transcript-confidence-scores.md). 

rawTranscription  
Usar pontuações de confiança na transcrição de voz. Para obter mais informações, consulte [Uso de pontuações de confiança na transcrição de voz para melhorar as conversas com seu bot do Lex V2](using-transcript-confidence-scores.md). 

missedUtterance  
Indica se o Amazon Lex V2 conseguiu reconhecer o enunciado do usuário.

requestId  
O Amazon Lex V2 gerou o ID de solicitação para a entrada do usuário.

timestamp  
O carimbo de data e hora da entrada do usuário.

developerOverride  
Indica se o fluxo da conversa foi atualizado usando um hook de código de diálogo. Para mais informações sobre como usar um hook de código de diálogo, consulte [Integrando uma AWS Lambda função ao seu bot Amazon Lex V2](lambda.md).

inputMode  
Indica o tipo de entrada. Pode ser áudio, DTMF ou texto.

requestAttributes  
Os atributos da solicitação usados ao processar a entrada do usuário.

audioProperties  
Se os logs de conversas de áudio estiverem ativados e a entrada do usuário estiver no formato de áudio, inclua a duração total da entrada de áudio, a duração da voz e a duração do silêncio no áudio. Também inclui um link para o arquivo de áudio.

bargeIn  
Indica se a entrada do usuário interrompeu a resposta anterior do bot.

responseReason  
O motivo pelo qual uma resposta foi gerada. Pode ser um dos seguintes:  
+ `UtteranceResponse` – resposta à entrada do usuário
+ `StartTimeout` – resposta gerada pelo servidor quando o usuário não forneceu a entrada
+ `StillWaitingResponse` – resposta gerada pelo servidor quando o usuário solicita que o bot espere
+ `FulfillmentInitiated` – resposta gerada pelo servidor informando que o atendimento está prestes a ser iniciado
+ `FulfillmentStartedResponse` – resposta gerada pelo servidor informando que o atendimento foi iniciado
+ `FulfillmentUpdateResponse` – resposta periódica gerada pelo servidor enquanto o atendimento está em andamento
+ `FulfillmentCompletedResponse` – resposta gerada pelo servidor quando o atendimento é concluído.

operationName  
A API usada para interagir com o bot. Pode ser `PutSession`, `RecognizeText`, `RecognizeUtterance` ou `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"
}
```

O conteúdo da entrada de log depende do resultado de uma transação e da configuração do bot e da solicitação.
+ Os campos `intent`, `slots` e `slotToElicit` não aparecerão em uma entrada se o campo `missedUtterance` for `true`.
+ O campo `s3PathForAudio` não aparecerá se os logs de áudio estiverem desativados ou se o campo `inputDialogMode` for `Text`.
+ O campo `responseCard` só aparecerá quando você tiver definido um cartão de resposta para o bot.
+ O mapa `requestAttributes` só aparecerá se você tiver especificado atributos de solicitação na solicitação.
+ O campo `kendraResponse` só está presente quando o `AMAZON.KendraSearchIntent` faz uma solicitação para pesquisar um índice do Amazon Kendra.
+ O campo `developerOverride` é verdadeiro quando uma intenção alternativa foi especificada na função do Lambda do bot.
+ O mapa `sessionAttributes` só aparecerá se você tiver especificado atributos de sessão na solicitação.
+ O mapa `sentimentResponse` só aparecerá se você configurar o bot para retornar valores de sentimento.

**nota**  
O formato de entrada pode mudar sem uma alteração correspondente em `messageVersion`. Seu código não deve gerar um erro se novos campos estiverem presentes.

# Acessar logs de áudio no Amazon S3
<a name="conversation-logs-s3"></a>

O Amazon Lex V2 armazena logs de áudio para suas conversas em um bucket do S3. 

É possível usar o console ou a API do Amazon S3 para acessar logs de áudio. Você pode ver o prefixo de chaves de objeto do S3 dos arquivos de áudio no console do Amazon Lex V2 ou no campo `conversationLogSettings` na resposta da operação `DescribeBotAlias`.

# Monitorando o status do registro de conversas com CloudWatch métricas
<a name="conversation-logs-monitoring"></a>

Use CloudWatch a Amazon para monitorar as métricas de entrega dos seus registros de conversas. É possível definir alarmes em métricas para que você esteja ciente de problemas com o registro em log se eles ocorrerem.

O Amazon Lex V2 fornece quatro métricas no namespace `AWS/Lex` para logs de conversa:
+ `ConversationLogsAudioDeliverySuccess`
+ `ConversationLogsAudioDeliveryFailure`
+ `ConversationLogsTextDeliverySuccess`
+ `ConversationLogsTextDeliveryFailure`

As métricas de sucesso mostram que o Amazon Lex V2 gravou com êxito seus logs de áudio ou texto em seus destinos. 

As métricas de falha mostram que o Amazon Lex V2 não conseguiu entregar logs de áudio ou texto ao destino especificado. Normalmente, este é um erro de configuração. Quando suas métricas de falha estiverem acima de zero, verifique o seguinte:
+ Certifique-se de que o Amazon Lex V2 seja uma entidade confiável para o perfil do IAM.
+ Para registro de texto, verifique se o grupo CloudWatch Registros existe. Para criar log de áudio, certifique-se de que o bucket do S3 exista.
+ Certifique-se de que a função do IAM que o Amazon Lex V2 usa para acessar o grupo de CloudWatch logs de registros ou o bucket do S3 tenha permissão de gravação para o grupo de logs ou bucket.
+ Certifique-se de que o bucket do S3 exista na mesma região que o bot do Amazon Lex V2 e pertença à sua conta.