【问题标题】:Value of property Subscription must be a list of objects属性 Subscription 的值必须是对象列表
【发布时间】:2021-03-23 07:42:17
【问题描述】:

使用 aws Cloud Formation Designer 制作一个简单的 SNS 主题,其中包含 SES 的订阅和队列。我连接了组件,但我的堆栈无法创建订阅。

错误:属性 Subscription 的值必须是对象列表

   "Resources": {
    "SNST3F2X9": {
        "Type": "AWS::SNS::Topic",
        "Properties": {
            "DisplayName": "EmailBounceTopic",
            "Subscription": [
                "EmailBounceSubscription"
            ],
            "TopicName": "EmailBounceTopic"
        },
        "Metadata": {
            "AWS::CloudFormation::Designer": {
                "id": "094fd7f3-2e35-4219-8f87-07ad335f85bb"
            }
        }
    },
    "SNST3FDSS": {
        "Type": "AWS::SNS::Subscription",
        "Properties": {
            "EndPoint": "BounceQueue",
            "Protocol": "SQS",
            "RawMessageDelivery": true,
            "TopicArn": {
                "Ref": "SNST3F2X9"
            }
        },
        "Metadata": {
            "AWS::CloudFormation::Designer": {
                "id": "b9524cd1-7d7a-46a6-9c34-33ceccccf3d4"
            }
        }
    },
    "SQSQ3OZGY": {
        "Type": "AWS::SQS::Queue",
        "Properties": {
            "QueueName": "BounceQueue"
        },
        "Metadata": {
            "AWS::CloudFormation::Designer": {
                "id": "d5a6cfd6-4b52-486a-97c1-4021528c32fc"
            }
        },
        "DependsOn": [
            "SNST3FDSS"
        ]
    }
}

【问题讨论】:

    标签: amazon-web-services amazon-cloudformation


    【解决方案1】:

    您当前的Subscription 是:

                "Subscription": [
                    "EmailBounceSubscription"
                ]
    

    但是Subscription应该是一个对象列表,形式为(示例):

        "Subscription" : [{
          "Endpoint" : "EmailBounceSubscription",
          "Protocol" : "email"
        }
    

    【讨论】:

    • 谢谢。我试过了,它确实走得更远。设计师没有让我以嵌套的方式创建拖放。我创建了一个完全独立的订阅并将它们链接到设计器中。现在抛出“无效参数:电子邮件地址(服务:AmazonSNS;状态代码:400;”)的错误。如果我想让它进入队列,端点不应该需要电子邮件吗?
    • @haju 我不确定你想做什么。我虽然想使用电子邮件地址作为名称EmailBounceSubscription 建议测试。如果你想有SQS队列,你必须修改ProtocolEndpoint
    • 很抱歉应该把它放在描述中。尝试创建一个 sns 主题/订阅/简单队列来处理退回电子邮件。订阅将退回的电子邮件路由到队列。我会更新我的问题的描述。我明白你现在的意思了。订阅中的端点应该是我的队列和协议 sqs。
    猜你喜欢
    • 2018-08-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-23
    • 1970-01-01
    • 2021-05-21
    • 2021-12-05
    相关资源
    最近更新 更多