Amazon web services 通过Terraform添加SNS过滤策略

Amazon web services 通过Terraform添加SNS过滤策略,amazon-web-services,amazon-sns,Amazon Web Services,Amazon Sns,我已经创建了一个SNS主题,还有几个其他服务订阅了这个主题以接收通知 现在,我的要求是添加一个过滤器策略,以便只有满足该要求的服务才能接收消息 terraform上支持delivery_策略,但无法直接在SNS.tf上使用filter_策略 请建议是否有其他选择,如果我的方法错误,请纠正我 PS:我必须使用terraform而不是AWS控制台来完成这项工作 谢谢, Sumukha过滤器需要应用于订阅者,而不是主题本身, 让我们假设以下配置: resource "aws_sns_topic

我已经创建了一个SNS主题,还有几个其他服务订阅了这个主题以接收通知

现在,我的要求是添加一个过滤器策略,以便只有满足该要求的服务才能接收消息

terraform上支持delivery_策略,但无法直接在SNS.tf上使用filter_策略

请建议是否有其他选择,如果我的方法错误,请纠正我

PS:我必须使用terraform而不是AWS控制台来完成这项工作

谢谢,
Sumukha

过滤器需要应用于订阅者,而不是主题本身, 让我们假设以下配置:

    resource "aws_sns_topic" "test" {
      name = "my-topic-with-policy"
    }

    resource "aws_sns_topic_subscription" "lambda_sns_subscription" {
      topic_arn = "${aws_sns_topic.test.arn}"
      protocol  = "lambda"
      endpoint  = "///"
      filter_policy = "${jsonencode(map("aa",list("aa")))}"
    }
请参阅“aws\U sns\U主题\U订阅”资源中的“筛选策略”属性


然后,根据SNS Filter Doc的规定,填充符必须是有效的json:

我得到了相同的issueThanks!!工作得很好。