基于消息正文的AWS SNS过滤

问题描述 投票:0回答:1

示例消息如下所示:

{
  "Type" : "Notification",
  "MessageId" : "23456f-9cca-8f1a-5746363",
  "Message" : "{\"Records\":[{\"eventVersion\":\"2.1\",\"eventSource\":\"aws:s3\"}, {\"key\":\"AWSLogs/12345678/elasticloadbalancing/us-east-1/2023/11/29/rohithmn-1234.k8s-roh-12345678.fsdkjfhwe5639.log.gz\",\"size\":746}]}",
  "SignatureVersion" : "1"
}

现在,在我的 SNS 订阅过滤策略中,我想使用 “消息正文” 仅过滤消息键中包含“rohithmn-1234”的消息。 这个 JSON 过滤器是什么?

我经历了https://aws.amazon.com/blogs/compute/introducing-payload-based-message-filtering-for-amazon-sns/这个,但它只有前缀基于过滤。

就我而言,如果消息密钥中存在“rohithmn-1234”字符串,我会过滤消息。意思是仅发送那些包含 “rohithmn-1234”.

的消息。
amazon-web-services amazon-sqs amazon-sns
1个回答
0
投票

这里是您发现您无法拥有的自定义消息。 SNS 将仅共享基本 JSON 有效负载。您只能使用“消息”作为电子邮件/Slack。

你可以做的是,在两者之间使用 lambda 来发送数据

通过 lambda,您可以自定义消息负载,然后将其发送到您的 Slack 或电子邮件目的地。您可以在网上找到很多解决方案。

祝你好运,如果您需要什么,请发表评论。 快乐云!!

© www.soinside.com 2019 - 2024. All rights reserved.