Codificação de transmissão de evento - Guia do desenvolvedor

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

Codificação de transmissão de evento

A codificação do fluxo de eventos fornece comunicação bidirecional usando mensagens entre um cliente e um servidor. Os quadros de dados enviados para o serviço de streaming do Amazon Lex V2 são codificados neste formato. A resposta do Amazon Lex V2 também usa essa codificação.

Cada mensagem consiste em duas seções: o prelúdio e os dados. A seção de prelúdio contém o tamanho total de bytes da mensagem e o comprimento combinado de todos os cabeçalhos. A seção de dados contém os cabeçalhos e uma carga útil.

Cada seção termina com uma soma de verificação CRC inteira big-endian de 4 bytes. A soma de verificação de CRC da mensagem inclui a seção de prelúdio e a seção de dados. O Amazon Lex V2 usa CRC32 (geralmente chamado de GZIP CRC32) para calcular os dois CRCs. Para obter mais informações sobre CRC32, consulte Especificação do formato de arquivo GZIP versão 4.3.

O total de sobrecarga de mensagem, incluindo o prelúdio e ambas as somas de verificação, é de 16 bytes.

O diagrama a seguir mostra os componentes que formam uma mensagem e um cabeçalho. Há vários cabeçalhos por mensagem.

Cada mensagem contém os seguintes componentes:

  • Prelúdio: Sempre com tamanho fixo de 8 bytes, dois campos de 4 bytes cada.

    • Primeiros 4 bytes: O tamanho total de bytes. Este é o número inteiro big-endian de bytes da mensagem inteira, incluindo o próprio campo de comprimento de 4 bytes.

    • Segundo grupo de 4 bytes: O comprimento de bytes do cabeçalho. Este é o comprimento de bytes integral do big-endian da porção dos cabeçalhos da mensagem, excluindo o próprio comprimento dos cabeçalhos.

  • CRC do prelúdio: a soma de verificação CRC de 4 bytes para a porção do prelúdio da mensagem, excluindo a própria CRC. O prelúdio tem uma CRC separada da CRC da mensagem para garantir que o Amazon Lex V2 possa detectar informações de comprimento de byte corrompido imediatamente sem causar erros como as sobrecargas de buffer.

  • Cabeçalhos: Metadados que anotam a mensagem, como o tipo de mensagem, tipo de conteúdo, e assim por diante. As mensagens têm vários cabeçalhos. Cabeçalhos são pares de valor da chave onde a chave é uma sequência de caracteres UTF-8. Os cabeçalhos podem aparecer em qualquer ordem na parte dos cabeçalhos da mensagem e um determinado cabeçalho pode aparecer apenas uma vez. Para os tipos de cabeçalho necessários, consulte as seções a seguir.

  • Carga útil: o conteúdo de áudio ou texto enviado para o Amazon Lex.

  • CRC da mensagem: a soma de verificação CRC de 4 bytes desde o início da mensagem até o início da soma de verificação. Inclui tudo na mensagem, exceto a CRC em si.

Cada cabeçalho contém os seguintes componentes. Há vários cabeçalhos por quadro.

  • O comprimento de byte do nome do cabeçalho: o comprimento de bytes do nome do cabeçalho.

  • Nome do cabeçalho: o nome do cabeçalho que indica o tipo de cabeçalho. Para valores válidos, consulte as seguintes descrições de quadro.

  • Tipo de valor de cabeçalho: uma enumeração que indica o tipo de valor de cabeçalho.

  • Comprimento de byte da string de valor: o comprimento de byte da string de valor do cabeçalho.

  • Valor do cabeçalho: o valor da string do cabeçalho. Os valores válidos para esse campo dependem do tipo de cabeçalho. Para valores válidos, consulte as seguintes descrições de quadro.