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

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

FIFO 主题的消息过滤

Amazon SNS FIFO 主题支持邮件过滤。通过从发布者卸载消息路由逻辑,从订阅者卸载消息筛选逻辑,从订阅者卸载消息筛选逻辑,从而简化体系结构。

当您为 Amazon SQS FIFO 队列订阅 SNS FIFO 主题时,您可以使用消息筛选来指定订阅者接收消息的子集,而不是所有消息。每个订阅者都可以将自己的筛选器策略设置为订阅属性。如果筛选器策略与传入邮件的属性匹配,则主题会向订阅者传送邮件的副本。如果没有匹配项,则主题不会传递消息的副本。

汽车零部件价格管理示例使用案例,假定已设置以下 Amazon SNS 筛选器策略:

  • 对于批发队列,筛选器策略{"business":["wholesale"]}将每条消息与名为"business"并使用"wholesale"在一组值中。在下图中,消息m1String值为"wholesale"。消息中的属性m3String.Array值为"wholesale,retail"。因此,m1m3匹配筛选器策略的条件,并且这两条消息都会传递到批发队列。

  • 对于零售队列,筛选策略{"business":["retail"]}将每条消息与名为"business"并使用"retail"在一组值中。在图中,消息m2String值为"retail"。消息中的属性m3String.Array值为"wholesale,retail"。因此,m2m3匹配筛选器策略的条件,并且这两条消息都会传递到零售队列。

下图显示了使用这些筛选器策略进行邮件筛选的效果。

SNS FIFO 主题支持各种匹配运算符,包括属性字符串值、属性数值和属性键。有关更多信息,请参阅 Amazon SNS 消息筛选

SNS FIFO 主题不会向订阅的终端节点传送重复的消息。有关更多信息,请参阅 FIFO 主题的消息重复数据消除