

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# イベントストリームエンコード
<a name="event-stream-encoding"></a>

イベントストリームエンコードは、クライアントとサーバーの間のメッセージを使用して双方向通信を提供します。Amazon Lex V2 のストリーミングサービスに送信されるデータフレームは、この形式でエンコードされます。Amazon Lex V2 からのレスポンスでも、このエンコードが使用されます。

各メッセージは、prelude と data の 2 つのセクションで構成されています。prelude セクションには、メッセージの全バイト長と、すべてのヘッダーの合計バイト長が含まれています。data セクションには、ヘッダーとペイロードが含まれています。

各セクションは、4 バイトのビッグエンディアン整数 CRC チェックサムで終わります。メッセージ CRC チェックサムには、prelude セクションと data セクションが含まれています。Amazon Lex V2 は、CRC32 (別名 GZIP CRC32) を使用して、両方の CRC を計算します。CRC32 の詳細については、「[https://www.ietf.org/rfc/rfc1952.txt](https://www.ietf.org/rfc/rfc1952.txt)」を参照してください。

合計メッセージオーバーヘッド (prelude と両方のチェックサムを含む) は 16 バイトです。

次の図は、メッセージとヘッダーを構成するコンポーネントを示します。 メッセージごとに複数のヘッダーがあります。

![\[Diagram showing message structure with prelude, headers, payload, and CRC components.\]](http://docs.aws.amazon.com/ja_jp/lexv2/latest/dg/images/frame-diagram-frame-overview.png)


各メッセージには、以下のコンポーネントが含まれます。
+ **Prelude:** 常に 8 バイト の固定サイズ (4 バイト × 2 フィールド)。
  + *最初の 4 バイト:* 合計バイト長です。メッセージ全体のビッグエンディアン整数バイト長です (4 バイト長のフィールド自体を含む)。
  + *次の 4 バイト:* ヘッダーバイト長。メッセージのヘッダー部分のビッグエンディアン整数バイト長 (ヘッダー長フィールド自体を除く)。
+ **Prelude CRC:** メッセージの prelude 部分の 4 バイト CRC チェックサム (CRC 自体を除く)。バッファオーバーランなどのエラーを引き起こすことなく、Amazon Lex V2 で、破損したバイト長の情報を即時に検出できるように、prelude にはメッセージ CRC とは別の CRC があります。
+ **ヘッダー:** メッセージの種類、コンテンツの種類など、メッセージに注釈を付けるメタデータ。メッセージには複数のヘッダーがあります。ヘッダーは、キーが UTF-8 文字列であるキーと値のペアです。ヘッダーは、メッセージのヘッダー部分に任意の順序で表示することができ、任意のヘッダーは一度だけ表示することができます。必要なヘッダータイプについては、以下のセクションを参照してください。
+ **ペイロード:** Amazon Lex に送信される音声またはテキストコンテンツ。
+ **メッセージ CRC:** メッセージの先頭からチェックサムの先頭までの 4 バイトの CRC チェックサム。つまり、CRC を除き、メッセージ内のすべてのものを含みます。

各ヘッダーには、以下のコンポーネントが含まれます。フレームごとに複数のヘッダーがあります。
+ **ヘッダー名のバイト長**: ヘッダー名のバイトの長さ。
+ **ヘッダー名:** ヘッダータイプを示すヘッダの名前。有効な値については、次のフレームの説明を参照してください。
+ **ヘッダー値のタイプ:** ヘッダー値の種類を示す列挙。
+ **値の文字列のバイト長:** ヘッダー値の文字列のバイト長。
+ **ヘッダー値**: ヘッダー文字列の値。このフィールドの有効な値は、ヘッダーのタイプによって異なります。有効な値については、次のフレームの説明を参照してください。