Definição de atributos de solicitação - Amazon Lex V1

Se você estiver usando o Amazon Lex V2, consulte o Guia do Amazon Lex V2.

 

Se você estiver usando o Amazon Lex V1, recomendamos atualizar seus bots para o Amazon Lex V2. Não estamos mais adicionando novos atributos à V1 e recomendamos o uso da V2 para todos os novos bots.

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á.

Definição de atributos de solicitação

Atributos de solicitação contêm informações específicas da solicitação e aplicam-se apenas à solicitação atual. Um aplicativo cliente envia essas informações ao Amazon Lex. Use atributos de solicitação para passar informações que não precisam ser mantidas durante toda a sessão. Você pode criar seus próprios atributos de solicitação ou usar atributos predefinidos. Para enviar atributos de solicitação, use o cabeçalho x-amz-lex-request-attributes em uma PostContent ou no campo requestAttributes em uma solicitação PostText. Como os atributos de solicitação não são persistentes entre as solicitações como os atributos de sessão, eles não são retornados em respostas PostContent ou PostText.

nota

Para enviar informações que são mantidas nas solicitações, use atributos de sessão.

O namespace x-amz-lex: é reservado para os atributos de solicitação predefinidos. Não crie atributos de solicitação com o prefixo x-amz-lex:.

Definição de atributos de solicitação predefinidos

O Amazon Lex fornece atributos de solicitação predefinidos para gerenciar a maneira como ele processa as informações enviadas a seu bot. Os atributos não são mantidos durante toda a sessão. Por isso, você deve enviar os atributos predefinidos em cada solicitação. Todos os atributos predefinidos estão no namespace x-amz-lex:.

Além dos atributos predefinidos a seguir, o Amazon Lex fornece atributos predefinidos para plataformas de sistemas de mensagens. Para obter uma lista desses atributos, consulte Implantação de um bot do Amazon Lex em uma plataforma de sistema de mensagens.

Como configurar o tipo de resposta

Se tiver dois aplicativos clientes com diferentes recursos, talvez seja necessário restringir o formato das mensagens em uma resposta. Por exemplo, talvez você queira restringir as mensagens enviadas a um cliente web a textos sem formatação, mas permitir que um cliente móvel use o texto sem formatação e Speech Synthesis Markup Language (SSML). Para definir o formato das mensagens retornadas pelas operações PostContent e PostText, use o atributo de solicitação x-amz-lex:accept-content-types".

Você pode definir o atributo para qualquer combinação dos seguintes tipos de mensagem:

  • PlainText: a mensagem contém texto sem formatação UTF-8.

  • SSML: a mensagem contém texto formatado para saída de voz.

  • CustomPayload: a mensagem contém um formato personalizado que você criou para seu cliente. Você pode definir a carga útil para atender às necessidades de seu aplicativo.

O Amazon Lex retorna apenas mensagens com o tipo especificado no campo Message da resposta. Você pode definir mais de um valor. Para isso, separe os valores com uma vírgula. Se estiver usando grupos de mensagens, cada um deverá conter pelo menos uma mensagem do tipo especificado. Do contrário, você receberá um erro NoUsableMessageException. Para obter mais informações, consulte Grupos de mensagens.

nota

O atributo de solicitação x-amz-lex:accept-content-types não tem efeito sobre o conteúdo do corpo HTML. O conteúdo da resposta de uma operação PostText sempre é texto sem formatação UTF-8. O corpo da resposta de uma operação PostContent contém dados no formato definido no cabeçalho Accept da solicitação.

Definição do fuso horário preferido

Para definir o fuso horário usado para resolver datas de forma que seja relativo ao fuso horário do usuário, use o atributo de solicitação x-amz-lex:time-zone. Se um fuso horário não está especificado no atributo x-amz-lex:time-zone, o padrão depende da região que você está usando para o seu bot.

Região Fuso horário padrão
Leste dos EUA (N. da Virgínia) America/New_York
Oeste dos EUA (Oregon) America/Los_Angeles
Ásia-Pacífico (Singapura) Asia/Singapore
Ásia-Pacífico (Sydney) Australia/Sydney
Ásia-Pacífico (Tóquio) Asia/Tokyo
Europa (Frankfurt) Europe/Berlin
Europa (Irlanda) Europe/Dublin
Europa (Londres) Europe/London

Por exemplo, se o usuário responde tomorrow em resposta à solicitação "Quando você gostaria que seu pacote fosse entregue?" a data em que o pacote será entregue depende do fuso horário do usuário. Por exemplo, quando ele é 01:00 de 16 de setembro em Nova York, são 22:00 de 15 de setembro em Los Angeles. Se uma pessoa no Leste dos EUA (Norte da Virgínia) encomendar um pacote a ser entregue "amanhã" usando o fuso horário padrão, o pacote será entregue no dia 17, e não no dia 16. No entanto, se você definir o atributo de solicitação x-amz-lex:time-zone para America/Los_Angeles, o pacote será entregue no dia 16.

Você pode definir o atributo para qualquer um nomes de fuso horário IANA (Internet Assigned Number Authority). Para ver a lista de nomes de fuso horário, consulte a Lista de fusos horários do banco de dados tz na Wikipédia.

Definição de atributos de solicitação definidos pelo usuário

O atributo de solicitação definido pelo usuário são os dados que você envia para seu bot em cada solicitação. Você enviar as informações no cabeçalho amz-lex-request-attributes de uma solicitação PostContent ou no campo requestAttributes de uma solicitação PostText.

Para enviar atributos de solicitação ao Amazon Lex, crie um mapa de string para string dos atributos. As considerações a seguir mostram como mapear atributos de solicitação:

{ "attributeName": "attributeValue", "attributeName": "attributeValue" }

Para a operação PostText, insira o mapa no corpo da solicitação usando o campo requestAttributes, como a seguir:

"requestAttributes": { "attributeName": "attributeValue", "attributeName": "attributeValue" }

Para a operação PostContent, codifique o mapa em base64 e o envie como o cabeçalho x-amz-lex-request-attributes.

Se você está enviando dados binários ou estruturados em um atributo de solicitação, você deve primeiro transformar os dados em uma string simples. Para obter mais informações, consulte Configuração de atributos complexos.