FIFO トピックのメッセージフィルター処理 - Amazon Simple Notification Service

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

FIFO トピックのメッセージフィルター処理

Amazon SNS FIFO トピックでは、メッセージフィルター処理がサポートされています。メッセージのフィルター処理により、受信者システムからのメッセージのルーティングロジックと、受信者システムからのメッセージのフィルター処理ロジックをオフロードすることにより、アーキテクチャが簡素化されます。

Amazon SQS FIFO キューまたは標準キューを SNS FIFO トピックにサブスクライブする場合、メッセージフィルタリングを使用して、サブスクライバーが、すべてのメッセージではなく、メッセージのサブセットを受信するように指定できます。各サブスクライバーは、独自のフィルターポリシーをサブスクリプション属性として設定できます。フィルターポリシーの範囲に基づいて、フィルターポリシーが受信メッセージ属性またはメッセージ本文と照合されます。フィルターポリシーが一致する場合、トピックはメッセージのコピーをサブスクライバーに配信します。一致するものがない場合、トピックはメッセージのコピーを配信しません。

自動車部品価格管理のユースケース例では、以下の Amazon SNS フィルターポリシーが設定されていて、フィルターポリシーの範囲が MessageBody であると仮定します。

  • 卸売キューについては、フィルターポリシー {"business":["wholesale"]} は、business という名前のキーと値のセットの wholesale を持つすべてのメッセージと一致します。次の図では、メッセージ m1 内のキーの 1 つは wholesale の値を持つ business です。メッセージ m3 内の 1 つのキーは ["wholesale,retail"] の値を持つ business です。したがって、m1 および m3 の両方がフィルターポリシーの基準に一致し、両方のメッセージが卸売キューに配信されます。

  • 小売キューについては、フィルターポリシー {"business":["retail"]} は、business という名前のキーと値のセットの retail を持つすべてのメッセージと一致します。図では、メッセージ m2 内のキーの 1 つは retail の値を持つ business です。メッセージ m3 内の 1 つのキーは、["wholesale,retail"] の値を持つ business です。したがって、m2 および m3 の両方がフィルターポリシーの基準に一致し、両方のメッセージが小売キューに配信されます。

  • 分析キューでは、Amazon Athena ですべてのレコードを受信したいため、フィルタポリシーは適用しません。


      SNS FIFO トピックのメッセージフィルター処理

SNS FIFO トピックは、属性文字列値、属性数値、属性キーなど、さまざまなマッチング演算子をサポートします。詳細については、「Amazon SNS メッセージフィルター処理」を参照してください。

SNS FIFO トピックは、サブスクライブされたエンドポイントに重複メッセージを配信しません。詳細については、「FIFO トピックのメッセージ重複除外」を参照してください。