Amazon Simple Notification Service
開発者ガイド

Amazon SNS ラージペイロードと raw メッセージの配信

Amazon SNS (および Amazon SQS) を使用すると、ラージペイロードメッセージ (サイズ 64 ~ 256 キロバイト) を送信できます。大きなペイロードを送信するには、署名バージョン 4 をサポートする AWS SDK を使用する必要があります。

ラージペイロードの送信の他に、Amazon SNS を使用して、Amazon SQS エンドポイントまたは HTTP/S エンドポイントに配信されるメッセージの raw メッセージ配信ができるようになりました。これによって、エンドポイントが JSON 形式を処理する必要がなくなります。この形式は、raw メッセージ配信が選択されない場合に、Amazon SNS メタデータのために作成されます。たとえば、Amazon SQS エンドポイントに対する raw メッセージ配信を有効にすると、Amazon SNS メタデータは含まれず、発行されたメッセージはサブスクライブされた Amazon SQS エンドポイントにそのまま配信されます。HTTP/S エンドポイントに対する raw メッセージ配信を有効にすると、メッセージには追加の HTTP ヘッダー x-amz-sns-rawdelivery が含められ、その値が true に設定されて、メッセージが JSON 形式ではなく raw で発行されたことが示されます。これによって、これらのエンドポイントは何が配信されるかを知ることができるので、JSON から raw 配信へのサブスクリプションの移行が容易になります。

いずれかの AWS SDK を使用して raw メッセージ配信を有効にするには、SetSubscriptionAttribute アクションを使用し、RawMessageDelivery 属性の値を true に設定する必要があります。デフォルト値は false です。

AWS マネジメントコンソール を使用して raw メッセージ配信を有効にする

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

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

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

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

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

  6. [Save changes] を選択します。