即使没有过滤策略,SNS 订阅也会收到消息

SNS subscription receives message even without filter policy

一个 SNS 主题有 2 个订阅。一个有过滤策略(我们称之为 A),另一个没有(我们称之为 B)。当消息发布到 SNS 主题时,过滤器属性与订阅和过滤策略(订阅 A)相匹配,它会收到消息。我在这里发现的问题是没有过滤策略的问题(订阅 B)也收到了相同的消息。如何仅向订阅 "A" 发送消息?

假设我向订阅 B 添加了不同的过滤策略。然后如果我使用订阅 A 的过滤策略属性向 SNS 发布消息,则只有订阅 A 会收到消息。这解决了我前面提到的问题,但是每个帐户有 200 个订阅过滤策略的限制。这有点破坏了订阅过滤策略的目的。

总结我的问题:如何只向订阅 "A" 发送消息,而不向同一主题的其他订阅添加过滤策略?

注意:使用的 SNS 协议是 EMAIL。我也没有考虑增加 SNS 限制。

如果您的用例是向用户发送电子邮件,那么 Amazon SNS 并不是真正合适的架构。 Amazon SNS 最适合用于应用程序之间的消息传递,或用于向内部员工发出警报。

要向外部用户发送电子邮件,您确实应该使用 Amazon Simple Email Service (SES)。