![](/img/trans.png)
[英]How can I create an "aws.cloudformation" CloudWatch event type for a specific CloudFormation stack?
[英]How can I catch CloudFormation stack CREATE_COMPLETED event and handle it?
我正在創建 CloudFormation 堆棧和 Lambda,我想在堆棧創建完成后調用它們(堆棧獲得 CREATE_COMPLETED 狀態)。 Lambda 不是堆棧資源,但如果需要,可以更改它以實現結果。
是否可以使用 CloudWatchRule 為堆棧捕獲此事件?
目前我能夠捕獲堆棧資源創建事件,但不能捕獲堆棧創建本身。
類似的問題包括將 CloudFormationTemplate 訂閱到 SNS 主題的方法,但是這會在每個堆棧資源狀態更改時觸發 SNS,而不是堆棧本身。
鑒於此,Lambda 將在每次資源更改時被調用,它不會告訴任何關於整個模板狀態的信息。
這是雲形成完成后如何發送 SNS 通知的副本? 是否可以在從 CloudFormation 模板創建時觸發 lambda
CloudWatch 規則不是這里的解決方案,因為規則是由有限的一組服務或 API 調用觸發的。 (請參閱此處的列表https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/EventTypes.html )
解決方案是將您的 Cloudformation 模板與 SNS 主題掛鈎(請參閱此處的文檔https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/US_SetupSNS.html )並將 SNS 鏈接到 Lambda 函數。
您將收到如下消息
StackId='arn:aws:cloudformation:eu-west-1:99999999999:stack/test/b08a8460-368c-11e9-be1f-025fe09a8a16'
Timestamp='2019-02-22T10:30:41.127Z'
EventId='e710f3c0-368c-11e9-b22d-06366d428b7a'
LogicalResourceId='test'
Namespace='486652066693'
PhysicalResourceId='arn:aws:cloudformation:eu-west-1:486652066693:stack/test/b08a8460-368c-11e9-be1f-025fe09a8a16'
PrincipalId='AID....6SK'
ResourceProperties='null'
ResourceStatus='CREATE_COMPLETE'
ResourceStatusReason=''
ResourceType='AWS::CloudFormation::Stack'
StackName='test'
ClientRequestToken='Console-CreateStack-c305c793-9a83-b175-bd26-f251aee30adc'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.