Amazon SNS 원시 메시지 전송 - Amazon Simple Notification Service

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

Amazon SNS 원시 메시지 전송

Amazon Data Firehose, Amazon SQS 및 HTTP/S 엔드포인트에서 메시지의 JSON 형식을 처리하지 않도록 하기 위해 Amazon SNS는 원시 메시지 전송을 허용합니다.

  • Amazon Data Firehose 또는 Amazon SQS 엔드포인트에 대해 원시 메시지 전송을 활성화하면 게시된 메시지에서 모든 Amazon SNS 메타데이터가 제거되고 메시지가 있는 그대로 전송됩니다.

  • HTTP/S 엔드포인트에 대해 원시 메시지 전송을 활성화하면 값이 true로 설정된 HTTP 헤더 x-amz-sns-rawdelivery가 메시지에 추가됩니다. 이는 메시지가 JSON 형식 지정 없이 게시되었음을 나타냅니다.

  • HTTP/S 엔드포인트에 대해 원시 메시지 전송을 활성화하면 메시지 본문, 클라이언트 IP 및 필수 헤더가 전송되지만, 메시지 속성을 지정하면 전송되지 않습니다.

  • Firehose 엔드포인트에 대해 원시 메시지 전송을 활성화하면 메시지 본문이 전달됩니다. 메시지 속성을 지정하면 전송되지 않습니다.

AWS SDK를 사용하여 원시 메시지 전송을 활성화하려면 SetSubscriptionAttribute API 작업을 사용하고 RawMessageDelivery 속성 값을 true로 설정해야 합니다.

AWS Management Console을 사용한 원시 메시지 전송 활성화

  1. Amazon SNS 콘솔에 로그인합니다.

  2. 탐색 창에서 주제(Topics)를 선택합니다.

  3. 주제 페이지에서 Firehose, Amazon SQS 또는 HTTP/S 엔드포인트에 구독하는 주제를 선택합니다.

  4. MyTopic페이지의 구독 섹션에서 구독을 선택하고 편집을 선택합니다.

  5. Edit EXAMPLE1-23bc-4567-d890-ef12g3hij456(예제 1-23bc-4567-d890-ef12g3hij456 편집) 페이지의 세부 정보 섹션에서 Enable raw message delivery(원시 메시지 전송 활성화)를 선택합니다.

  6. 변경 사항 저장을 선택합니다.

메시지 형식 예제

다음 예에서는 동일한 메시지가 동일한 Amazon SQS 대기열로 두 번 전송됩니다. 유일한 차이점은 원시 메시지 전송이 첫 번째 메시지에 대해 사용 중지되고 두 번째 메시지에 대해 사용된다는 것입니다.

  • 원시 메시지 전송이 사용 중지됨

    { "Type": "Notification", "MessageId": "dc1e94d9-56c5-5e96-808d-cc7f68faa162", "TopicArn": "arn:aws:sns:us-east-2:111122223333:ExampleTopic1", "Subject": "TestSubject", "Message": "This is a test message.", "Timestamp": "2021-02-16T21:41:19.978Z", "SignatureVersion": "1", "Signature": "FMG5tlZhJNHLHUXvZgtZzlk24FzVa7oX0T4P03neeXw8ZEXZx6z35j2FOTuNYShn2h0bKNC/zLTnMyIxEzmi2X1shOBWsJHkrW2xkR58ABZF+4uWHEE73yDVR4SyYAikP9jstZzDRm+bcVs8+T0yaLiEGLrIIIL4esi1llhIkgErCuy5btPcWXBdio2fpCRD5x9oR6gmE/rd5O7lX1c1uvnv4r1Lkk4pqP2/iUfxFZva1xLSRvgyfm6D9hNklVyPfy+7TalMD0lzmJuOrExtnSIbZew3foxgx8GT+lbZkLd0ZdtdRJlIyPRP44eyq78sU0Eo/LsDr0Iak4ZDpg8dXg==", "SigningCertURL": "https://sns.us-east-2.amazonaws.com/SimpleNotificationService-010a507c1833636cd94bdb98bd93083a.pem", "UnsubscribeURL": "https://sns.us-east-2.amazonaws.com/?Action=Unsubscribe&SubscriptionArn=arn:aws:sns:us-east-2:111122223333:ExampleTopic1:e1039402-24e7-40a3-a0d4-797da162b297" }
  • 원시 메시지 전송이 사용됨

    This is a test message.