Amazon Simple Notification Service
開発者ガイド (API バージョン 2010-03-31)

付録: ラージペイロードおよび raw メッセージ配信

Amazon SNS および Amazon SQS を使用すると、最大で 256 KB (262,144 バイト) のサイズのラージペイロードメッセージを送信できるようになります。ラージペイロード (64 KB から 256 KB のメッセージ) を送信するには、AWS 署名バージョン 4 (SigV4) 署名をサポートしている AWS SDK を使用する必要があります。AWS SDK で SigV4 がサポートされているかどうかを確認するには、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 メッセージ配信の有効化

AWS マネジメントコンソール を使用し、[Raw Message Delivery] サブスクリプション属性の値を true に設定して、raw メッセージ配信を有効にすることができます。

AWS マネジメントコンソール で raw メッセージ配信を有効にするには

  1. AWS マネジメントコンソールにサインインした後、Amazon SNS コンソール (https://console.aws.amazon.com/sns/v2/home) を開きます。

  2. Amazon SQS エンドポイントまたは HTTP/S エンドポイントにサブスクライブされているトピックを選択し、トピックの ARN をクリックします。

    [Topic Details] ページが表示されます。

  3. [Subscription ID] を選択し、次に [Other subscription actions] ドロップダウンボックスをクリックします。

  4. [Edit subscription attributes] をクリックし、[Raw Message Delivery] を選択して、[Set subscription attributes] をクリックします。