在“ OR”条件下进行AWS SNS消息过滤

时间:2018-06-27 09:14:33

标签: amazon-web-services filter amazon-sns aws-sns

SNS Message filtering page上,有一个如下的AND / OR逻辑示例

AND逻辑:通过使用多个属性名称(键)来应用AND逻辑。例如,政策:

{
    "customer_interests": ["rugby"],
    "price_usd": [{"numeric":[">", 100]}]
}

OR逻辑:通过为属性名称分配多个值来应用OR逻辑。例如,策略属性:

"customer_interests": ["rugby", "football", "baseball"]

但是我们如何对多个属性名称(键)应用“或”逻辑

例如,如果我想更改第一个示例,将采取什么政策

来自

(customer_interests =“ rugby” AND price_usd> 100)

收件人

(customer_interests =“ rugby”或price_usd> 100)

2 个答案:

答案 0 :(得分:2)

您必须为同一端点创建2个单独的订阅,并附加不同的过滤器:

第一次订阅:

{
    "customer_interests": ["rugby"]
}

第二次订阅:

{   
   "price_usd": [{"numeric":[">", 100]}]
}

我没有找到在单个过滤器中使用OR的任何方式,但是通过对同一端点创建多个订阅肯定可以工作(在我的帐户上使用mysqlf)

答案 1 :(得分:0)

我使用 lambda,因此我可以为每个 lambda 订阅者创建新别名。每个 lambda 都将使用 LASTEST 进行更新。 订阅 1.

{
    "key1": ["01"],
    "key2": ["123"],
}

订阅:Lambda ABC_1

订阅 2.

{
    "key1": ["02"],
    "key2": ["456"],
}

订阅:Lambda ABC_1:测试