Amazon SNS raw メッセージの配信 - Amazon Simple Notification Service

Amazon SNS raw メッセージの配信

Amazon Kinesis Data FirehoseAmazon SQS、およびHTTP/Sエンドポイントによるメッセージの JSON フォーマット処理を避けるため、Amazon SNS は raw メッセージの配信を許可します。

  • Amazon Kinesis Data Firehose または Amazon SQS エンドポイントに対して raw メッセージの配信を有効にすると、発行されたメッセージからすべての Amazon SNS メタデータが削除され、メッセージはそのまま送信されます。

  • HTTP/S エンドポイントに対して raw メッセージの配信を有効にすると、値が true に設定された HTTP ヘッダー x-amz-sns-rawdelivery がメッセージに追加されます。これは、メッセージが JSON フォーマットなしで発行されたことを示します。

  • HTTP/S エンドポイントに対して raw メッセージの配信を有効にすると、メッセージ本文、クライアント IP、および必要なヘッダーが配信されます。メッセージの属性を指定すると、そのメッセージは送信されません。

  • Kinesis Data Firehose エンドポイントの raw メッセージ配信を有効にすると、メッセージ本文が配信されます。メッセージの属性を指定すると、そのメッセージは送信されません。

AWS SDK を使用した raw メッセージの配信を有効にするには、SetSubscriptionAttribute API アクションを使用し、RawMessageDelivery 属性の値を true に設定する必要があります。

AWS Management Console を使用して raw メッセージ配信を有効にする

  1. Amazon SNS コンソールにサインインします。

  2. ナビゲーションパネルで、[トピック] を選択します。

  3. [トピック] ページで、Kinesis Data Firehose、Amazon SQS、または HTTP/S エンドポイントにサブスクライブするトピックを選択します。

  4. [MyTopic] ページの [サブスクリプション] セクションでサブスクリプションを選択したら、[編集] を選択します。

  5. [Edit EXAMPLE1-23bc-4567-d890-ef12g3hij456] ページの [詳細] セクションで、[raw メッセージ配信の有効化] を選択します。

  6. [変更を保存] をクリックします。

メッセージ形式の例

以下は、同じメッセージが同じ Amazon SQS キューに 2 回送信されている例です。唯一の違いは、最初のメッセージでは raw メッセージ配信が無効になり、2 番目のメッセージでは有効になっていることです。

  • raw メッセージの配信を無効にします

    { "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" }
  • raw メッセージの配信を有効にします

    This is a test message.