簡體   English   中英

如何捕獲 CloudFormation 堆棧 CREATE_COMPLETED 事件並處理它?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM