本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
FIFO 主題的 Amazon SNS 訊息篩選
Amazon SNSFIFO主題支援訊息篩選。透過從發佈者系統卸載訊息路由邏輯,以及從訂閱者系統卸載訊息篩選邏輯,藉此簡化您的架構。
當您訂閱SNSFIFO主題的 Amazon SQSFIFO或標準佇列時,您可以使用訊息篩選來指定訂閱者接收訊息子集,而不是全部。每個訂閱者都可以將自己的篩選政策設定為訂閱屬性。根據篩選政策範圍,篩選政策會與傳入訊息屬性或訊息內文相符。如果篩選政策符合,則主題會將郵件的副本傳送給訂閱者。如果沒有相符項目,主題就不會傳送訊息的副本。
在自動零件價格管理範例使用案例 中,假設已設定下列 Amazon SNS篩選條件政策,且篩選條件政策範圍為 MessageBody
:
-
對於批發佇列,篩選政策
{"business":["wholesale"]}
將每個具有名為business
和wholesale
索引鍵的訊息配對在一組值中。在下圖中,訊息 m1 裡其中一個索引鍵是值為wholesale
的business
。訊息 m3 裡其中一個索引鍵是值為["wholesale,retail"]
的business
。因此,兩者皆是 m1 和 m3 符合篩選政策的準則,並且兩個訊息都會傳遞至批發佇列。 -
對於零售佇列,篩選政策
{"business":["retail"]}
將每個具有名為business
和retail
索引鍵的訊息配對在一組值中。在圖表中,訊息 m2 裡其中一個索引鍵是值為retail
的business
。訊息 m3 裡其中一個索引鍵是值為["wholesale,retail"]
的business
。因此,兩者皆是 m2 和 m3 符合篩選政策的準則,而且兩個訊息都會傳遞至零售佇列。 -
對於分析佇列,我們希望 Amazon Athena 能夠接收所有記錄,因此不會套用篩選政策。
SNS FIFO 主題支援各種相符運算子,包括屬性字串值、屬性數值和屬性索引鍵。如需詳細資訊,請參閱Amazon SNS 訊息篩選。
SNS FIFO 主題不會將重複的訊息傳遞給訂閱的端點。如需詳細資訊,請參閱FIFO 主題的 Amazon SNS 訊息重複資料刪除。