翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
SNS FIFO トピックの Amazon SNS メッセージフィルター処理
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 トピックは、属性文字列値、属性数値、属性キーなど、さまざまなマッチング演算子をサポートします。詳細については、「Amazon SNS メッセージフィルター処理」を参照してください。
SNS FIFO トピックは、サブスクライブされたエンドポイントに重複メッセージを配信しません。詳細については、「FIFO トピックの Amazon SNS メッセージ重複排除」を参照してください。