Amazon SNS メッセージフィルター処理 - Amazon Simple Notification Service

Amazon SNS メッセージフィルター処理

デフォルトでは、Amazon SNS トピックの受信者は、トピックに対して発行されたすべてのメッセージを受信します。メッセージのサブセットのみを受信する場合、受信者はトピックのサブスクリプションにフィルターポリシーを割り当てる必要があります。

フィルターポリシーは、受信者が受信するメッセージを定義するプロパティが含まれている JSON オブジェクトです。Amazon SNS は、サブスクリプションに設定したフィルターポリシーの範囲に従って、メッセージ属性またはメッセージ本文に適用されるポリシーに対応します。メッセージ本文のフィルターポリシーは、メッセージペイロードが正しい形式の JSON オブジェクトであることを前提としています。

サブスクリプションにフィルターポリシーがない場合、サブスクライバーは、そのトピックに発行されたすべてのメッセージを受信します。フィルターポリシーを設定してトピックにメッセージを発行すると、Amazon SNS はメッセージ属性またはメッセージ本文をトピックの各サブスクリプションのフィルターポリシー内のプロパティを比較します。すべてのメッセージ属性またはメッセージ本文プロパティがフィルターポリシーで指定された条件を満たす場合、Amazon SNS はメッセージをサブスクライバーに送信します。そうでない場合、Amazon SNS はそのサブスクライバーにメッセージを送信しません。

詳細については、「トピックに発行されたメッセージのフィルター処理」を参照してください。