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

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

Amazon SNS raw メッセージの配信

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

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

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

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

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

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

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

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

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

  3. [トピック] ページで、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.

Amazon SQS サブスクリプションのメッセージ属性と raw メッセージ配信

Amazon SNS では、メッセージに関する構造化メタデータ項目 (タイムスタンプ、地理空間データ、署名、識別子など) を指定できるメッセージ属性の配信をサポートしています。SQS サブスクリプションの場合、raw メッセージの配信を有効にすると、最大 10 個のメッセージ属性を送信できます。10 個を超えるメッセージ属性を送信するには、raw メッセージの配信を無効にする必要があります。raw メッセージ配信が有効になっている場合、10 個を超えるメッセージ属性を持つ Amazon SQS サブスクリプション宛てのメッセージは、クライアント側のエラーとして破棄されます。