通过Terraform添加SNS过滤器策略

时间:2019-03-13 15:59:59

标签: amazon-web-services amazon-sns

我已经创建了一个SNS主题,并且有其他一些订阅该主题的服务可以接收通知。

现在,我的要求是添加一个筛选器策略,以便只有满足要求的服务才能收到消息。

在Terraform上支持delivery_policy,但无法直接在SNS.tf上使用filter_policy。

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

PS:我必须使用terraform而不是从AWS控制台执行

谢谢, 苏木卡

1 个答案:

答案 0 :(得分:0)

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

    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_sns_topic_subscription”资源上的filter_policy属性

,然后根据SNS过滤器文档https://docs.aws.amazon.com/sns/latest/dg/sns-subscription-filter-policies.html

,填充器必须是有效的json
相关问题