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

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

Amazon SNS 消息筛选

默认情况下,Amazon SNS 主题订阅者会收到发布到该主题的所有消息。要仅接收一部分消息,订阅者必须将筛选策略分配给主题订阅。

筛选策略是一个简单的 JSON 对象,包含定义订阅者接收的消息的属性。当您将一条消息发布到某个主题时,Amazon SNS 会比较该消息的属性与该主题的每个订阅的筛选策略中的属性。如果任何属性匹配,Amazon SNS 会将消息发送给订阅者。否则,Amazon SNS 跳过订阅者而不向其发送消息。如果某个订阅没有筛选策略,则该订阅将接收发布到其主题的每条消息。

您可以通过将消息筛选条件合并到主题订阅中来简化对 Amazon SNS 的使用。这允许您转移来自订阅者的消息筛选逻辑以及来自发布者的消息路由逻辑,从而无需通过为每个条件创建单独的主题来筛选消息。您可以使用单个主题,并通过属性来区分消息。每个订阅者只收到并处理其筛选策略所接受的消息。

例如,您可以使用单个主题来发布由零售网站上的事务生成的所有消息。要指示事务状态,可以为每条消息分配一个属性(例如 order_placedorder_cancelledorder_declined)。通过使用筛选策略来创建订阅,可以将每条消息路由到设计用于处理消息的事务状态的队列。

有关更多信息,请参阅 。筛选发布到主题的消息