AWS CloudFormation不会重新创建我的应用程序

时间:2017-06-22 16:54:59

标签: amazon-web-services aws-lambda amazon-cloudformation aws-codepipeline

我按照http://docs.aws.amazon.com/lambda/latest/dg/automating-deployment.html

上的教程进行操作

本教程演示了如何使用AWS云信息自动部署lambda和API网关。

一段时间后,我成功地完成了教程。这意味着当我将提交推送到链接到AWS CodePipeline的github存储库时,已更改的代码将上载/打包到AWS - >构建 - >和部署(即我可以看到代码更改)

我的问题是我试图删除lambda函数,然后通过推送git commit来调用Codepipeline。这使得codepipeline变得干脆,我可以成功地观察源,构建和暂存步骤。但是,我找不到lambda?我认为cloudformation会重新创建应用程序吗?你能帮忙吗?

2 个答案:

答案 0 :(得分:4)

如果您手动删除了该功能,那么您很可能会遇到此问题:

  

作为AWS CloudFormation堆栈的一部分创建的资源必须从同一堆栈进行管理。必须通过堆栈更新来完成对资源的修改。如果删除资源,则还需要进行堆栈更新以从模板中删除资源。如果意外或故意手动删除资源,则在尝试执行堆栈更新时可能会遇到错误。

https://aws.amazon.com/premiumsupport/knowledge-center/failing-stack-updates-deleted/

您可以通过手动重新创建具有相同名称的资源来解决此问题,然后允许CloudFormation在将来管理资源。

答案 1 :(得分:1)

我没有看到任何lambda函数的原因是因为我只创建了更改集("创建或更新更改集")并错过了添加实际部署阶段"执行更改集& #34 ;.