FIFO 主题的消息重复数据消除 - Amazon Simple Notification Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

FIFO 主题的消息重复数据消除

Amazon SNS FIFO 主题和 Amazon SQS FIFO 队列支持消息重复数据消除,只要满足以下条件,即可提供一次性消息传输和处理:

  • 订阅的 SQS FIFO 队列存在,并具有允许 Amazon SNS 服务主体向队列传递消息的权限。

  • SQS FIFO 队列使用者处理消息,并在可见性超时到期之前将其从队列中删除。

  • Amazon SNS 订阅主题没有消息筛选。配置邮件筛选时,SNS FIFO 主题支持最多一次性传递,因为可以根据订阅筛选器策略筛选出邮件。

  • 没有阻止确认邮件传递的网络中断。

注意

消息重复数据消除适用于整个 SNS FIFO 主题,而不适用于单个消息组

当您将消息发布到 SNS FIFO 主题时,该消息必须包含重复数据删除 ID。此 ID 包含在 SNS FIFO 主题传递给订阅的 SQS FIFO 队列的消息中。

如果具有特定重复数据消除 ID 的邮件成功发布到 SNS FIFO 主题,则在五分钟重复数据消除间隔内使用相同重复数据删除 ID 发布的任何邮件都将被接受,但不会传递。SNS FIFO 主题继续跟踪消息重复数据消除 ID,即使在邮件传递到订阅的终端节点之后也是如此。

如果保证消息正文对于每个已发布的消息都是唯一的,您可以为 Amazon SNS FIFO 主题和订阅的 SQS FIFO 队列启用基于内容的重复数据消除。Amazon SNS 使用消息正文生成一个唯一的哈希值,用作每封邮件的重复数据消除 ID,因此您无需在发送每封邮件时设置重复数据消除 ID。

注意

消息属性不包括在哈希计算中。

汽车零部件价格管理示例使用案例,公司必须为每次价格更新设置一个通用唯一的重复数据消除 ID。这是因为即使在批发和零售的消息属性不同时,消息正文也可以是相同的。但是,如果公司将业务类型(批发或零售)与产品 ID 和产品价格一起添加到消息正文中,它们可以在 SNS FIFO 主题和订阅的 SQS FIFO 队列中启用基于内容的复制。

除了邮件排序和重复数据消除外,SNS FIFO 主题还支持邮件服务器端加密 (SSE)Amazon KMS密钥以及通过 VPC 终端节点的消息隐私 Amazon PrivateLink 。有关更多信息,请参阅FIFO 主题的消息安全