我已经创建了一个SNS主题,并且希望使用与嵌套属性匹配的过滤器策略来订阅它。例如,给出如下消息:
{
"foo": {
"bar": "baz"
},
"quux": "vorp"
}
Run Code Online (Sandbox Code Playgroud)
我只想匹配的bar属性foo等于的邮件baz。
到目前为止,我发现的文档仅提及在顶层指定的匹配属性。我对嵌套属性感兴趣。出于这个问题的目的,让我们假设我不控制消息的结构。
订阅过滤器不作用于消息(正文,有效负载)。它们仅对消息属性起作用。
消息属性不是复杂的对象……它们的唯一类型是字符串,字符串数组,数字和二进制。如果消息属性包含序列化的对象(例如JSON),则订阅筛选器不旨在支持提取/匹配内部的序列化数据。
截至 2022 年,可以根据有效负载进行过滤。
这里提到了: https://docs.aws.amazon.com/sns/latest/dg/sns-message-filtering.html
过滤示例:
假设您的原始消息如下:
{
"eventType": "SOME_STRING",
"otherAttribs": "bla..."
}
Run Code Online (Sandbox Code Playgroud)
那么过滤器可以是这样的:
{
"eventType": [
{
"prefix": "SAMETH"
}
]
}
Run Code Online (Sandbox Code Playgroud)
在 AWS WebConsole 中,可以在 SNS -> 订阅 -> [选择一个] -> 订阅筛选策略中找到它。
| 归档时间: |
|
| 查看次数: |
1832 次 |
| 最近记录: |