Amazon SQS용 메시지 메타데이터 - Amazon Simple Queue Service

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

Amazon SQS용 메시지 메타데이터

메시지 속성을 사용하여 사용자 지정 메타데이터를 애플리케이션에 대한 Amazon SQS 메시지에 연결할 수 있습니다. 메시지 시스템 속성을 사용하여 AWS X-Ray와 같은 다른 AWS 서비스에 대한 메타데이터를 저장할 수 있습니다.

Amazon SQS 메시지 속성

Amazon SQS는 메시지 속성을 사용하여 메시지에 구조화된 메타데이터(예: 타임스탬프, 지리 공간 데이터, 서명 및 식별자)를 포함할 수 있습니다. 각 메시지에는 최대 10개의 속성이 있을 수 있습니다. 메시지 속성은 선택 사항이며 메시지 본문과 분리됩니다(단, 메시지 본문과 함께 전송됨). 소비자는 메시지 본문을 먼저 처리하지 않고도 메시지 속성을 사용하여 특정 방식으로 메시지를 처리할 수 있습니다. Amazon SQS 콘솔을 사용하여 속성이 있는 메시지를 전송하는 방법에 대한 자세한 내용은 속성을 포함하는 메시지 전송 섹션을 참조하세요.

참고

메시지 속성을 메시지 시스템 속성과 혼동하지 마십시오. 메시지 속성을 사용하여 애플리케이션용 Amazon SQS 메시지에 사용자 지정 메타데이터를 첨부할 수 있는 반면, 메시지 시스템 속성을 사용하여 다음과 같은 AWS 다른 서비스에 대한 메타데이터를 저장할 수 있습니다. AWS X-Ray

메시지 속성 구성 요소

중요

메시지 속성의 모든 구성 요소는 256KB의 메시지 크기 제한에 포함됩니다.

Name, Type, Value, 메시지 본문은 비어있거나 null이면 안됩니다.

각 메시지 속성은 다음 구성 요소로 구성됩니다.

  • 이름 - 메시지 속성 이름에 사용할 수 있는 문자는 A-Z, a-z, 0-9, 밑줄(_), 하이픈(-), 마침표(.)입니다. 다음과 같은 제한 사항이 있습니다.

    • 최대 256자일 수 있음

    • AWS. 또는 Amazon.(또는 모든 대소문자 변형)으로 시작할 수 없음

    • 대소문자 구분

    • 메시지의 모든 속성 이름 중에서 고유해야 함

    • 마침표로 시작하거나 끝나지 않아야 함

    • 시퀀스에 마침표가 없어야 함

  • 형식 - 메시지 속성 데이터 형식입니다. 지원되는 형식은 String, Number, Binary입니다. 또한 데이터 형식에 대한 사용자 지정 정보를 추가할 수 있습니다. 데이터 유형에는 메시지 본문과 동일한 제한 사항이 있습니다(자세한 내용은 Amazon Simple Queue Service API 참조SendMessage 참조). 또한 다음과 같은 제한 사항이 적용됩니다.

    • 최대 256자일 수 있음

    • 대소문자 구분

  • - 메시지 속성 값입니다. String 데이터 형식의 경우 속성 값은 메시지 본문과 동일한 제한 사항이 있습니다.

메시지 속성 데이터 형식

메시지 속성 데이터 형식은 해당 메시지 속성 값의 처리 방법을 Amazon SQS에 지시합니다. 예를 들어 형식이 Number인 경우 Amazon SQS에서 숫자 값을 확인합니다.

Amazon SQS는 String, Number, Binary 논리 데이터 형식과 .custom-data-type 형식의 선택적 사용자 지정 데이터 형식 레이블을 지원합니다.

  • 문자열 - String 속성은 모든 유효한 XML 문자를 사용하여 유니코드 텍스트를 저장할 수 있습니다.

  • 숫자 - Number 속성은 양수 또는 음수 값을 저장할 수 있습니다. 숫자는 최대 38자릿수의 정밀도를 갖출 수 있으며 10^-128에서 10^+126 사이일 수 있습니다.

    참고

    Amazon SQS는 앞과 끝의 0을 제거합니다.

  • 이진 - 이진 속성은 모든 이진 데이터를 저장할 수 있습니다(예: 압축된 데이터, 암호화된 데이터 또는 이미지).

  • 사용자 지정 - 사용자 지정 데이터 형식을 생성하려면 사용자 지정 형식 레이블을 데이터 형식에 추가합니다. 예:

    • Number.byte, Number.short, Number.int, Number.float는 숫자 형식을 구별하는 데 도움이 될 수 있습니다.

    • Binary.gifBinary.png는 파일 형식을 구별하는 데 도움이 될 수 있습니다.

    참고

    Amazon SQS는 추가된 데이터를 해석, 확인 또는 사용하지 않습니다.

    사용자 지정 형식 레이블은 메시지 본문과 동일한 제한 사항이 있습니다.

메시지 속성의 MD5 메시지 다이제스트 계산

를 사용하는 경우 이 AWS SDK for Java섹션을 건너뛸 수 있습니다. Java용 SDK의 MessageMD5ChecksumHandler 클래스는 Amazon SQS 메시지 속성에서 MD5 메시지 다이제스트를 지원합니다.

Query API 또는 Amazon SQS 메시지 속성에 대해 MD5 메시지 다이제스트를 지원하지 않는 AWS SDK 중 하나를 사용하는 경우 다음 지침을 사용하여 MD5 메시지 다이제스트 계산을 수행해야 합니다.

참고

MD5 메시지 다이제스트 계산에는 항상 사용자 지정 데이터 유형 접미사를 포함하세요.

개요

다음은 MD5 메시지 다이제스트 계산 알로리즘의 개요입니다.

  1. 모든 메시지 속성을 이름에 따라 오름차순으로 정렬합니다.

  2. 각 속성의 개별 부분(Name, Type, Value)을 버퍼로 인코딩합니다.

  3. 전체 버퍼의 메시지 다이제스트를 계산합니다.

다음 다이어그램은 단일 메시지 속성에서 MD5 메시지의 인코딩을 나타냅니다.

단일 메시지 속성에 대한 MD5 메시지 다이제스트 인코딩.

단일 Amazon SQS 메시지 속성을 인코딩하려면

  1. 이름(이름의 길이(4바이트) 및 UTF-8바이트)을 인코딩합니다.

  2. 데이터 형식(데이터 형식의 길이(4바이트) 및 UTF-8바이트)을 인코딩합니다.

  3. 값(1바이트)의 전송 형식(String 또는 Binary)을 인코딩합니다.

    참고

    StringNumber 논리 데이터 형식은 String 전송 형식을 사용합니다.

    Binary 논리 데이터 형식은 Binary 전송 형식을 사용합니다.

    1. String 전송 형식은 1을 인코딩합니다.

    2. Binary 전송 형식은 2를 인코딩합니다.

  4. 속성 값을 인코딩합니다.

    1. String 전송 형식은 속성 값(값의 길이(4바이트) 및 UTF-8바이트)을 인코딩합니다.

    2. Binary 전송 형식은 속성 값(값의 길이(4바이트) 및 원시 바이트)을 인코딩합니다.

Amazon SQS 메시지 시스템 속성

메시지 속성을 사용하여 사용자 지정 메타데이터를 응용 프로그램에 대한 Amazon SQS 메시지에 연결할 수 있는 반면, 메시지 시스템 속성을 사용하여 AWS X-Ray같은 다른 AWS 서비스에 대한 메타데이터를 지정할 수 있습니다. 자세한 내용은 Amazon Simple Queue Service API 참조의 SendMessageSendMessageBatch API 작업의 MessageSystemAttribute 요청 파라미터, ReceiveMessage API 작업의 AWSTraceHeader 속성, MessageSystemAttributeValue 데이터 유형을 참조하세요.

메시지 시스템 속성은 다음을 제외하고 메시지 시스템과 똑같이 구조화됩니다.

  • 현재 유일하게 지원되는 메시지 시스템 속성은 AWSTraceHeader입니다. 유형은 이어야 String 하고 값은 올바른 형식의 AWS X-Ray 추적 헤더 문자열이어야 합니다.

  • 메시지 시스템 속서으이 크기는 총 메시지 크기에 합산되지 않습니다.