AWS SAM - 如何处理大量端点

时间:2018-01-10 12:40:47

标签: amazon-web-services aws-lambda amazon-cloudformation aws-codebuild serverless

我们正在使用AWS SAM构建API。构建在CodeStar中的Lambda节点模板上。事情进展顺利,直到我们的template.yml文件变得太大。每当推送代码并且CloudFormation开始执行更改集并为SAM端点创建堆栈时,它将失败并回滚到上一次成功构建。

似乎我们有太多资源超过每个堆栈的CloudFormation限制。

我尝试拆分模板文件并编辑了buildspec来处理两个模板文件并执行两个AWS CloudFormation包命令并添加了另一个工件。但它也没有用。由于只识别第一个模板,因此只创建一个堆栈。

我无法找到一种方法来进行自动部署,从而创建多个堆栈。

我很欣赏这方面的一些意见以及处理这种情况的建议。

提前致谢。

2 个答案:

答案 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