我们正在使用AWS SAM构建API。构建在CodeStar中的Lambda节点模板上。事情进展顺利,直到我们的template.yml文件变得太大。每当推送代码并且CloudFormation开始执行更改集并为SAM端点创建堆栈时,它将失败并回滚到上一次成功构建。
似乎我们有太多资源超过每个堆栈的CloudFormation限制。
我尝试拆分模板文件并编辑了buildspec来处理两个模板文件并执行两个AWS CloudFormation包命令并添加了另一个工件。但它也没有用。由于只识别第一个模板,因此只创建一个堆栈。
我无法找到一种方法来进行自动部署,从而创建多个堆栈。
我很欣赏这方面的一些意见以及处理这种情况的建议。
提前致谢。
答案 0 :(得分:1)
您应该尝试使用嵌套堆栈模式。您将创建一个父堆栈,而不是将当前堆栈拆分为多个并行堆栈,而后者将创建多个子堆栈。
更多信息here。
答案 1 :(得分:1)
AWS SAM(自SAM v1.9.0起)支持嵌套的应用程序,该应用程序映射到嵌套的CloudFormation堆栈,该堆栈大约有200个资源限制。 (AWS :: Serverless :: Application转换为AWS :: CloudFormation :: Stack)
https://github.com/awslabs/serverless-application-model/releases/tag/v1.9.0