jas*_*f87 6 amazon-sqs amazon-web-services amazon-sns
我有一个用于 SNS 订阅 (SQS) 的过滤器,我正在使用此过滤器:
{"source":[{"anything-but":"SOME_STRING"}]}
这工作正常,除了有时我有消息发送到没有任何名为 source 的消息属性的 SNS,并且在使用过滤器之前,这个没有过滤器的订阅正在接受它。
所以,总而言之,我想找到一种方法,如果我的过滤器没有这个“源”属性,或者如果它有它,它应该是任何东西——除了 SOME_STRING。
谢谢!
您的要求是在以下情况下过滤和传递消息:
Amazon SNS 订阅策略接受以下条件下的消息。
1) 过滤策略中的每个属性名称与分配给消息的属性名称相匹配。
2) 对于每个匹配的属性名称,以下各项之间至少存在一个匹配项:
-->过滤策略中属性名称的值
-->消息属性
正如您在 SNS 订阅过滤策略的给定文档中看到的,任何不包含过滤属性的消息,或者如果该属性值不符合策略,则该消息将被拒绝。
根据您的示例,您无法过滤和传递不包含“源”属性的消息。但是您可以过滤源属性是否存在,并且它应该是除 SOME_STRING 之外的任何内容。
解决此问题的方法。
假设您有权访问消息生成源,请确保每条消息在将其推送到 SNS 之前都包含属性“源”。然后您可以轻松过滤掉除 SOME_STRING 以外的任何内容。
归档时间: |
|
查看次数: |
1419 次 |
最近记录: |