首页 > 解决方案 > 将电子邮件地址列表传递给 SNS 订阅端点

问题描述

是否可以将电子邮件地址列表作为 SNS 订阅的端点传递?

我有这样的东西

{
    "AWSTemplateFormatVersion": "2010-09-09",
    "Resources" : {
      "EmailSNSTopic": {
        "Type" : "AWS::SNS::Topic",
        "Properties" : {
          "DisplayName" : "${display_name}"
        }
      },
      "MySubscription": {
        "Type": "AWS::SNS::Subscription",
        "Properties": {
          "TopicArn" : { "Ref" : "EmailSNSTopic" },
          "Endpoint" : "foo@foo.com"
          "Protocol" : "email"
        }
      }
    },
      "Outputs" : {
        "ARN" : {
          "Description" : "Email SNS Topic ARN",
          "Value" : { "Ref" : "EmailSNSTopic" }
        }
      }
}

但我想做的是传递多个电子邮件地址,而不仅仅是一个。

标签: amazon-web-servicesamazon-cloudformationamazon-sns

解决方案


根据文档

端点应该是一个字符串

Cloudformation 不允许您传递列表。

您也不想拥有自定义资源。

还有另一种在 AWS CloudFormation 模板中运行 bash 命令的方法

您只需运行awscli 命令,如下所示

    Resources:
    Command:
        Type: 'AWSUtility::CloudFormation::CommandRunner'
        Properties:
        Command: aws s3 ls > /command-output.txt
        Role: String
        LogGroup: String #Optional
        SubnetId: String #Optional
        SecurityGroupId: String #Optional
        KeyId: String #Optional

推荐阅读