FIFO 主題的 Amazon SNS 訊息重複資料刪除 - Amazon Simple Notification Service

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

FIFO 主題的 Amazon SNS 訊息重複資料刪除

Amazon SNS FIFO 主題和 Amazon SQS FIFO 佇列支援訊息重複資料刪除功能,只要符合下列條件,就能提供精確一次的訊息傳遞和處理:

  • 訂閱的 Amazon SQS FIFO 佇列存在,且具有允許 Amazon SNS 服務主體將訊息傳遞到佇列的權限。

  • Amazon SQS FIFO 佇列用戶會處理訊息,並在可見性逾時到期之前將訊息從佇列中刪除。

  • Amazon SNS 訂閱主題沒有訊息篩選。當您設定訊息篩選時,Amazon SNS FIFO 主題支援最多一次傳遞,因為訊息可以根據您的訂閱篩選政策篩選出來。

  • 沒有網路中斷會阻止確認訊息傳遞。

注意

當主題屬性FifoThroughputScope設定為 時,訊息重複資料刪除會套用至整個 Amazon SNS FIFO 主題Topic。當主題屬性FifoThroughputScope設定為 時MessageGroup,訊息重複資料刪除會套用至每個個別訊息群組

當您發布訊息到 Amazon SNS FIFO 主題,訊息必須包含重複資料刪除 ID。此 ID 包含在 Amazon SNS FIFO 主題傳遞至訂閱的 Amazon SQS FIFO 佇列的訊息中。

如果具有特定重複資料刪除 ID 的訊息成功發佈到 Amazon SNS FIFO 主題,則任何發佈的相同重複資料刪除 ID 的訊息,在五分鐘的重複資料刪除間隔內,都會被接受但未交付。Amazon SNS FIFO 主題會在主題屬性 設定的重複資料刪除範圍內繼續追蹤訊息重複資料刪除 IDFifoThroughputScope,即使在訊息傳遞至訂閱的端點之後也是如此。

如果確保每封已發布訊息的郵件本文都是唯一的,您可以針對 Amazon SNS FIFO 主題和訂閱的 Amazon SQS FIFO 佇列啟用內容型重複資料刪除功能。Amazon SNS 使用訊息主體產生唯一的雜湊值,用作每封訊息的重複資料刪除 ID,因此您在傳送每封訊息時不需要設定重複資料刪除 ID。

注意

訊息屬性不包含在雜湊計算中。

為 Amazon SNS FIFO 主題啟用內容型重複資料刪除功能,並使用重複資料刪除 ID 發佈訊息時,發佈的重複資料刪除 ID 會覆寫產生的內容型重複資料刪除 ID。

汽車零件價格管理示範使用案例中,公司必須為每次價格更新設定一個通用唯一的重複資料刪除 ID。這是因為即使批發和零售的訊息屬性不同,訊息內文也可以是相同的。不過,如果公司將業務類型 (批發或零售) 新增至訊息主體,並在產品 ID 和產品價格旁邊,則可以在 Amazon SNS FIFO 主題和訂閱的 Amazon SQS FIFO 佇列中啟用內容型重複。

使用自動零件價格管理範例,在 Amazon SNS FIFO (先進、先進) 主題環境中執行訊息重複資料刪除的運作方式。它顯示如何防止多次將發佈到 Amazon SNS FIFO 主題的重複訊息 (m1) 交付到訂閱者系統 (批發、零售和分析佇列)。此重複資料刪除可確保僅處理唯一訊息,提高不同訂閱者函數的訊息處理效率和準確性。

除了訊息排序和重複資料刪除之外,Amazon SNS FIFO 主題還支援具有 AWS KMS 金鑰的訊息伺服器端加密 (SSE),以及透過具有 的 VPC 端點進行訊息隱私權 AWS PrivateLink。如需詳細資訊,請參閱FIFO 主題的 Amazon SNS 訊息安全性