이벤트 스트림 인코딩 - Amazon Lex

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

이벤트 스트림 인코딩

이벤트 스트림 인코딩은 클라이언트와 서버 간 메시지를 사용한 양방향 통신 기능을 제공합니다 Amazon Lex V2 스트리밍 서비스로 전송되는 데이터 프레임은 이 형식으로 인코딩됩니다. Amazon Lex V2의 응답도 이 인코딩을 사용합니다.

각 메시지는 두 섹션(서문 및 데이터)으로 구성됩니다. 서문 섹션에는 메시지의 총 바이트 길이와 모든 헤더의 총 바이트 길이가 포함됩니다. 데이터 섹션에는 헤더와 페이로드가 포함됩니다.

각 섹션은 4바이트 빅 엔디안 정수 CRC 체크섬으로 끝납니다. 메시지 CRC 체크섬에는 서문 섹션과 데이터 섹션이 포함됩니다. Amazon Lex V2는 CRC32(GZIP CRC32라고도 함)를 사용하여 두 CRC를 모두 계산합니다. CRC32에 대한 자세한 내용은 GZIP file format specification version 4.3을 참조하십시오.

총 메시지 오버헤드(서문과 두 체크섬 포함)는 16바이트입니다.

다음 다이어그램은 메시지와 헤더를 구성하는 구성 요소를 보여줍니다. 메시지별로 여러 개의 헤더가 있습니다.

각 메시지는 다음 구성 요소를 포함합니다.

  • 서문: 항상 8바이트 고정 크기이며 두 필드가 각각 4바이트를 차지합니다.

    • 첫 번째 4바이트: 총 바이트 길이입니다. 전체 메시지의 빅 엔디안 정수 바이트 길이이며 4바이트의 길이 필드 자체를 포함합니다.

    • 두 번째 4바이트: 헤더 바이트 길이입니다. 메시지 헤더 부분의 빅 엔디안 정수 바이트 길이이며 헤더의 길이 필드 자체는 제외됩니다.

  • 서문 CRC: 메시지 서문 부분의 4바이트 CRC 체크섬이며 CRC 자체는 제외됩니다. 서문에는 메시지 CRC와 분리된 CRC가 있어서 버퍼 오버런 같은 오류를 일으키지 않고 Amazon Lex V2가 손상된 바이트 길이 정보를 즉시 감지할 수 있습니다.

  • 헤더: 메시지 유형, 콘텐츠 유형 등의 메시지 주석 메타데이터입니다. 메시지에는 여러 개의 헤더가 있습니다. 헤더는 키-값 페어이며 여기서 키는 UTF-8 문자열입니다. 헤더는 메시지의 헤더 부분에 순서에 상관없이 표시되며 헤더는 한 번만 표시될 수 있습니다. 필수 헤더 유형은 다음 단원을 참조하십시오.

  • 페이로드: Amazon Lex로 전송되는 오디오 또는 텍스트 콘텐츠입니다.

  • 메시지 CRC: 메시지 시작 부분부터 체크섬 시작 부분까지의 4바이트 CRC 체크섬입니다. CRC 자체를 제외한 메시지의 전체가 포함됩니다.

각 헤더는 다음 구성 요소를 포함합니다. 프레임별로 여러 개의 헤더가 있습니다.

  • 헤더 이름 바이트 길이: 헤더 이름의 바이트 길이입니다.

  • 헤더 이름: 헤더 유형을 나타내는 헤더 이름입니다. 유효한 값은 다음 프레임 설명을 참조하십시오.

  • 헤더 값 유형: 헤더 값 유형을 나타내는 열거입니다.

  • 값 문자열 바이트 길이: 헤더 값 문자열의 바이트 길이입니다.

  • 헤더 값: 헤더 문자열의 값입니다. 이 필드의 유효한 값은 헤더 유형에 따라 달라집니다. 유효한 값은 다음 프레임 설명을 참조하십시오.