本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
FIFO 主題的 Amazon SNS 訊息重複資料刪除
Amazon SNSFIFO主題和 Amazon SQSFIFO佇列支援訊息重複資料刪除,只要符合下列條件,就會提供完全一次的訊息傳遞和處理:
-
訂閱的 Amazon SQSFIFO佇列存在,並具有允許 Amazon SNS服務主體將訊息傳遞到佇列的許可。
-
Amazon SQSFIFO佇列取用者會處理訊息,並在可見性逾時到期之前從佇列中刪除訊息。
-
Amazon SNS訂閱主題沒有訊息篩選 。當您設定訊息篩選時,Amazon SNSFIFO主題支援 at-most-once交付,因為訊息可以根據您的訂閱篩選政策進行篩選。
-
沒有網路中斷會阻止確認訊息傳遞。
注意
訊息重複資料刪除適用於整個 Amazon SNSFIFO主題,不適用於個別訊息群組 。
當您將訊息發佈至 Amazon SNSFIFO主題時,訊息必須包含重複資料刪除 ID。此 ID 包含在 Amazon SNSFIFO主題傳送至訂閱 Amazon SQSFIFO佇列的訊息中。
如果具有特定重複資料刪除 ID 的訊息成功發佈至 Amazon SNSFIFO主題,則接受在五分鐘重複資料刪除間隔內發佈的任何具有相同重複資料刪除 ID 的訊息,但不會交付。即使訊息傳遞至訂閱的端點,Amazon SNSFIFO主題仍會繼續追蹤訊息重複資料刪除 ID。
如果訊息內文保證每個發佈的訊息都是唯一的,您可以為 Amazon SNSFIFO主題和訂閱的 Amazon SQSFIFO佇列啟用內容型重複資料刪除。Amazon SNS使用訊息內文來產生唯一的雜湊值,以用作每個訊息的重複資料刪除 ID,因此當您傳送每個訊息時,不需要設定重複資料刪除 ID。
注意
訊息屬性不包含在雜湊計算中。
當為 Amazon SNSFIFO主題啟用內容型重複資料刪除功能,且訊息以重複資料刪除 ID 發佈時,發佈的重複資料刪除 ID 會覆寫產生的內容型重複資料刪除 ID。
在汽車零件價格管理示範使用案例中,公司必須為每次價格更新設定一個通用唯一的重複資料刪除 ID。這是因為即使批發和零售的訊息屬性不同,訊息內文也可以是相同的。但是,如果公司將商業類型 (批發或零售) 與產品 ID 和產品價格一起新增至訊息內文,則可以在 Amazon SNSFIFO主題和訂閱的 Amazon SQSFIFO佇列中啟用內容型複製。
除了訊息排序和重複資料刪除之外,Amazon SNSFIFO主題還支援具有 AWS KMS 金鑰的訊息伺服器端加密 (SSE),以及透過具有 的VPC端點進行訊息隱私權 AWS PrivateLink。如需詳細資訊,請參閱FIFO 主題的 Amazon SNS 訊息安全性。