0

我遵循http://docs.aws.amazon.com/lambda/latest/dg/automating-deployment.htmlAWS CloudFormation不会重新创建我的应用程序

本教程演示了如何自动部署一个lambda和使用AWS cloudformation的API网关的教程。

经过一段时间,我能够成功完成教程。这意味着当我向github存储库提交提交时,将链接到AWS CodePipeline的代码上传/打包到AWS - > build - >并部署(即我可以看到代码更改)

我的问题是我试图删除lambda函数,然后通过推送一个git commit来调用Codepipeline。这对代码管道进行了打包,我可以看到源代码,构建和分期步骤成功完成。但是,我找不到lambda?我认为cloudformation会重新创建应用程序?你能帮我吗?

回答

3

如果您删除的功能手动那么你很可能遇到了这个问题:被作为AWS CloudFormation堆栈的一部分创建

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

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

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

+0

谢谢,但我没有得到任何错误?我发现参数RequiresRecreation,但我不知道如何设置它或它是否相关 –

0

我之所以没有看到任何lambda函数,是因为我只创建了更改集(“创建或更新更改集”)并错过了添加实际部署阶段“执行更改集”的操作。

相关问题