【问题标题】:AWS SES Configset - Can't create an event destination to SNS using AWS cloud formation stackAWS SES Configset - 无法使用 AWS 云形成堆栈创建到 SNS 的事件目标
【发布时间】:2019-01-12 17:13:27
【问题描述】:

我似乎无法使用 AWS Cloud Formation 堆栈创建新的 AWS SES 配置集。错误提示“YAML 格式不正确”

下面是我的 CF 堆栈的 json 模板:

"Resources" : {
"ConfigSet": {
    "Type": "AWS::SES::ConfigurationSet",
    "Properties": {
        "Name": "CS_EMAIL_TRACKING"
    }
},
"CWEventDestination": {
    "Type": "AWS::SES::ConfigurationSetEventDestination",
    "Properties": {
        "ConfigurationSetName": "CS_EMAIL_TRACKING",
        "EventDestination": {
            "Name": "CS_EMAIL_TRACKING_CW_DESTINATION",
            "Enabled": true,
            "MatchingEventTypes": ["bounce", "complaint", "delivery", "open", "reject", "renderingFailure", "send"],
            "CloudWatchDestination": {
                "DimensionConfigurations": [{
                    "DimensionName": "AGS",
                    "DimensionValueSource": "messageTag",
                    "DefaultDimensionValue": "MY_AGS"
                }, {
                    "DimensionName": "Component",
                    "DimensionValueSource": "messageTag",
                    "DefaultDimensionValue": "Mail"
                }, {
                    "DimensionName": "ses:caller-identity",
                    "DimensionValueSource": "messageTag",
                    "DefaultDimensionValue": "shouldbeautoset"
                }]
            }
        }
    }
},
"SNSEventDestination": {
    "Type": "AWS::SES::ConfigurationSetEventDestination",
    "Properties": {
        "ConfigurationSetName": "CS_EMAIL_TRACKING",
        "EventDestination": {
            "Name": "CS_EMAIL_TRACKING_SNS_DESTINATION",
            "Enabled": true,
            "MatchingEventTypes": ["bounce", "complaint", "delivery", "reject", "send"],
            "SNSDestination": {
                "TopicARN": "arn:aws:sns:us-east-1:99999999:SES-STATUS_TRACKING_TOPIC"
            }
        }
    }
}

}

上面的json对我来说看起来不错但是......

有人可以帮忙吗?我错过了什么吗?

谢谢!

编辑:我让堆栈使用参数。现在,虽然我面临另一个问题,SNSDestination 是 EventDestination。 它说 EventDestination 的属性不受支持,即使 AWS 文档说它是一个有效的属性:

下面是我的最终代码:

{
"AWSTemplateFormatVersion": "2010-09-09",
"Description": "AWS SES ConfigurationSet ${CRED_AGS} Template",
"Parameters": {
    "ConfigSetName": {
        "Type" : "String",
        "Default" : "${CONFIGSET_NAME}"
    },
    "EventCWDestinationName" : {
        "Type" : "String",
        "Default" : "${CW_DESTINATION_NAME}"
    },
    "EventSNSDestinationName" : {
        "Type" : "String",
        "Default" : "${SNS_DESTINATION_NAME}"
    },
    "EventTypeBounce" : {
        "Type" : "String",
        "Default" : "bounce"
    },
    "EventTypeComplaint" : {
        "Type" : "String",
        "Default" : "complaint"
    },
    "EventTypeDelivery" : {
        "Type" : "String",
        "Default" : "delivery"
    },
    "EventTypeOpen" : {
        "Type" : "String",
        "Default" : "open"
    },
    "EventTypeReject" : {
        "Type" : "String",
        "Default" : "reject"
    },
    "EventTypeRenderingFailure" : {
        "Type" : "String",
        "Default" : "renderingFailure"
    },
    "EventTypeSend" : {
        "Type" : "String",
        "Default" : "send"
    },
    "DimensionValueSourceMsgTag" : {
        "Type" : "String",
        "Default" : "messageTag"
    },
    "DimensionNameAGS" : {
        "Type" : "String",
        "Default" : "AGS"
    },
    "DefaultDimensionValueAGS" : {
        "Type" : "String",
        "Default" : "${CRED_AGS}"
    },
    "DimensionNameComponent" : {
        "Type" : "String",
        "Default" : "Component"
    },
    "DefaultDimensionValueComponent" : {
        "Type" : "String",
        "Default" : "Mail"
    },
    "DimensionNameIdentity" : {
        "Type" : "String",
        "Default" : "ses:caller-identity"
    },
    "DefaultDimensionValueIdentity" : {
        "Type" : "String",
        "Default" : "shouldbeautoset"
    }
},
"Resources": {
    "ConfigSet" : {
        "Type" : "AWS::SES::ConfigurationSet",
        "Properties" : {
            "Name" : {
                "Ref" : "ConfigSetName"
            }
        }
    },
    "CWEventDestination" : {
        "Type" : "AWS::SES::ConfigurationSetEventDestination",
        "Properties" : {
            "ConfigurationSetName" : {
                "Ref": "ConfigSetName"
            },
            "EventDestination" : {
                "Name" : {
                    "Ref" : "EventCWDestinationName"
                },
                "Enabled" : true,
                "MatchingEventTypes" : [
                    {
                        "Ref" : "EventTypeBounce"
                    },
                    {
                        "Ref" : "EventTypeComplaint"
                    },
                    {
                        "Ref" : "EventTypeDelivery"
                    },
                    {
                        "Ref" : "EventTypeOpen"
                    },
                    {
                        "Ref" : "EventTypeReject"
                    },
                    {
                        "Ref" : "EventTypeRenderingFailure"
                    },
                    {
                        "Ref" : "EventTypeSend"
                    }
                ],
                "CloudWatchDestination" : {
                    "DimensionConfigurations" : [
                        {
                            "DimensionName" : {
                                "Ref" : "DimensionNameAGS"
                            },
                            "DimensionValueSource" : {
                                "Ref" : "DimensionValueSourceMsgTag"
                            },
                            "DefaultDimensionValue" : {
                                "Ref": "DefaultDimensionValueAGS"
                            }
                        },
                        {
                            "DimensionName" : {
                                "Ref" : "DimensionNameComponent"
                            },
                            "DimensionValueSource" : {
                                "Ref" : "DimensionValueSourceMsgTag"
                            },
                            "DefaultDimensionValue" : {
                                "Ref" : "DefaultDimensionValueComponent"
                            }
                        },
                        {
                            "DimensionName" : {
                                "Ref" : "DimensionNameIdentity"
                            },
                            "DimensionValueSource" : {
                                "Ref" : "DimensionValueSourceMsgTag"
                            },
                            "DefaultDimensionValue" : {
                                "Ref" : "DefaultDimensionValueIdentity"
                            }
                        }
                    ]
                }
            }
        }
    },
    "SNSEventDestination" : {
        "Type" : "AWS::SES::ConfigurationSetEventDestination",
        "Properties" : {
            "ConfigurationSetName" : {
                "Ref": "ConfigSetName"
            },
            "EventDestination" : {
                "Name" : {
                    "Ref" : "EventSNSDestinationName"
                },
                "Enabled" : true,
                "MatchingEventTypes" : [
                    {
                        "Ref" : "EventTypeBounce"
                    },
                    {
                        "Ref" : "EventTypeComplaint"
                    },
                    {
                        "Ref" : "EventTypeDelivery"
                    },
                    {
                        "Ref" : "EventTypeReject"
                    },
                    {
                        "Ref" : "EventTypeSend"
                    }
                ],
                "SNSDestination" : {
                    "TopicARN" : "${SNS_DELIVERY_TOPIC}"
                } 
            }
        }
    }
}

}

有人可以帮忙吗?顺便说一句,我有最新的 AWS cli。

【问题讨论】:

  • 您在哪个区域创建堆栈?确保它位于具有 SES 的区域。
  • 所有资源都在 us-east-1
  • 您是否有任何指向 CloudFormation 支持 SNSDestination 的文档的链接?它没有在AWS::SES::ConfigurationSetEventDestination - AWS CloudFormation 中列出。
  • 是的@JohnRotenstein,我找到了。最后,我能够通过 AWS CLI 命令创建 SNS 目标。 AWS 表示他们正在努力,很快就会为 SNS 目的地提供 CF 配置。感谢您的帮助!
  • 我很确定 Cloud Formation 仍然不支持 SNS 目的地 :(

标签: amazon-web-services amazon-cloudformation amazon-sns amazon-ses amazon-simple-email-service


【解决方案1】:

我认为SNSDestination 现在不支持。当你设置配置集时,它可能默认在那里

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-06-18
    • 2015-02-15
    • 2018-11-20
    • 1970-01-01
    • 2018-12-17
    • 2021-09-11
    • 1970-01-01
    • 2023-01-22
    相关资源
    最近更新 更多