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

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

FIFO 主題的 Amazon SNS 訊息篩選

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

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

自動零件價格管理範例使用案例 中,假設已設定下列 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 能夠接收所有記錄,因此不會套用篩選政策。

Amazon SNSFIFO主題如何根據訊息內容,使用篩選條件政策將訊息路由至不同 Amazon SQS佇列的範例。訊息 m1 和 m3 將 "business" 金鑰設定為 "wholesale",並傳遞訊息 m2 與 "retail" 指定的路由至零售佇列。這可示範目標性訊息傳遞,確保每個訂閱者函數只會收到相關訊息,進而最佳化處理效率和資料關聯性。

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

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