是否可以在AWS完成CFT后发送SNS通知?有没有办法在AWS中获得启动CFT的进度。
答案 0 :(得分:8)
答案 1 :(得分:1)
您不能通过CloudFormation模板本身指定通知ARN。如果使用控制台创建堆栈创建,则可以指定它们。但是一旦创建了堆栈,就无法使用控制台更新ARN。但是,您可以在创建通知后使用aws-cli更新带有通知ARN的堆栈,例如:
aws cloudformation update-stack --stack-name stack-name --use-previous-template --notification-arns "arn:aws:sns:us-east-1:${ACCOUNT_ID}:${TOPIC_NAME}"
用帐户中的文字值替换变量${VARIABLE}
。
答案 2 :(得分:1)
您可以欺骗CloudFormation从模板内部发送SNS消息:
https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-custom-resources.html
自定义资源使您可以在以下位置编写自定义配置逻辑 您每次创建时都运行AWS CloudFormation的模板,请更新(如果 您更改了自定义资源),或删除了堆栈。例如你 可能想要包括AWS无法提供的资源 CloudFormation资源类型。您可以通过以下方式包含这些资源 使用自定义资源。这样,您仍然可以管理所有相关内容 单个堆栈中的资源。
使用AWS :: CloudFormation :: CustomResource或Custom :: String资源 键入以在模板中定义自定义资源。定制资源 需要一个属性:服务令牌,用于指定AWS的位置 CloudFormation将请求发送到,例如Amazon SNS主题。
答案 3 :(得分:0)
AWS上还有knowledge center article,您可以在其中将ROLLBACK_IN_PROGRESS语句替换为CloudFormation的任何其他状态以获得SNS通知。