Amazon web services CloudFormation-在禁用状态下创建SNS订阅
有没有办法在禁用状态下创建SNS订阅?这是给一个lambda的,如果这有区别的话 例如:Amazon web services CloudFormation-在禁用状态下创建SNS订阅,amazon-web-services,amazon-cloudformation,amazon-sns,Amazon Web Services,Amazon Cloudformation,Amazon Sns,有没有办法在禁用状态下创建SNS订阅?这是给一个lambda的,如果这有区别的话 例如: MySubscription: Type: AWS::SNS::Subscription Properties: Endpoint: arn:aws:lambda:region:account-id:function:mylambda Protocol: lambda TopicArn: arn:aws:sns:region:account-id:topic Enab
MySubscription:
Type: AWS::SNS::Subscription
Properties:
Endpoint: arn:aws:lambda:region:account-id:function:mylambda
Protocol: lambda
TopicArn: arn:aws:sns:region:account-id:topic
Enabled: false # like this
在AWS CloudFormation文档中找不到类似的内容CloudFormation没有一种方法符合您的示例。根据,
AWS::SNS::Subscription
未将“启用”作为设置
尽管如此,文档中确实说明了端点的所有者必须在Amazon SNS创建订阅之前确认订阅。因此,从某种意义上说,它已经被禁用,因为在您在SNS主题上确认它之前,它不存在。您可以在订阅创建上创建一个条件 首先添加一个参数:
"CreateSubscription": {
"Type": "String",
"AllowedValues": [
"true",
"false"
],
"Description": "Create subscription to sns"
}
在“参数”部分之后,创建“条件”部分:
"Conditions" : {
"CreateSubscription" : {"Fn::Equals" : [{"Ref" : "CreateSubscription"}, "true"]}
}
将条件添加到订阅中
"Subscription": {
"Type": "AWS::SNS::Subscription",
"Condition" : "CreateSubscription",
[...]
}
当您想要“激活”您的订阅时,您只需更改参数值,并使用相同的模板更新堆栈