FIFO 主題的訊息篩選 - Amazon Simple Notification Service

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

FIFO 主題的訊息篩選

Amazon SNS FIFO 主題支援訊息篩選。透過從發佈者系統卸載訊息路由邏輯,以及從訂閱者系統卸載訊息篩選邏輯,藉此簡化您的架構。

當您將 Amazon SQS FIFO 或標準佇列訂閱至 SNS FIFO 主題時,可以使用訊息篩選來指定訂閱用戶接收訊息子集,而不是所有訊息。每個訂閱者都可以將自己的篩選政策設定為訂閱屬性。根據篩選政策範圍,篩選政策會與傳入訊息屬性或訊息內文相符。如果篩選政策符合,則主題會將郵件的副本傳送給訂閱者。如果沒有相符項目,主題就不會傳送訊息的副本。

汽車零件價格管理範例使用案例中,假設已設定下列 Amazon SNS 篩選政策,且篩選政策範圍為 MessageBody

  • 對於批發佇列,篩選政策 {"business":["wholesale"]} 將每個具有名為 businesswholesale 索引鍵的訊息配對在一組值中。在下圖中,訊息 m1 裡其中一個索引鍵是值為 wholesalebusiness。訊息 m3 裡其中一個索引鍵是值為 ["wholesale,retail"]business。因此,兩者皆是 m1m3 符合篩選政策的準則,並且兩個訊息都會傳遞至批發佇列。

  • 對於零售佇列,篩選政策 {"business":["retail"]} 將每個具有名為 businessretail 索引鍵的訊息配對在一組值中。在圖表中,訊息 m2 裡其中一個索引鍵是值為 retailbusiness。訊息 m3 裡其中一個索引鍵是值為 ["wholesale,retail"]business。因此,兩者皆是 m2m3 符合篩選政策的準則,而且兩個訊息都會傳遞至零售佇列。

  • 對於分析佇列,我們希望 Amazon Athena 能夠接收所有記錄,因此不會套用篩選政策。

SNS FIFO 主題的訊息篩選。

SNS FIFO 主題支援各種相符運算子,包括屬性字串值、屬性數值和屬性索引鍵。如需更多詳細資訊,請參閱 Amazon SNS 訊息篩選

SNS FIFO 主題不會將重複的訊息傳遞至訂閱的端點。如需更多詳細資訊,請參閱 FIFO 主題的重複訊息刪除