当前位置: 首页 > 知识库问答 >
问题:

AWS SAM-如何处理大量endpoint

居焱
2023-03-14

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

似乎我们有太多的资源超过了每个堆栈的云形成限制。

我尝试拆分模板文件,并编辑构建规范来处理两个模板文件,执行两个AWS云形成包命令,并添加了另一个工件。但也没起作用。因为只识别第一个模板,并且只创建一个堆栈。

我找不到一种方法来进行创建多个堆栈的自动部署。

我希望您能对此提供一些意见和建议,以处理这种情况。

提前谢谢。

共有3个答案

尉迟子民
2023-03-14

要查看的主要主题是sam模板中有哪些组件?是否存在依赖关系?所有函数是否共享同一个API网关?所有函数都可以访问DynamoDB表吗?在我的例子中,我以mono-repo的方式按API[API网关函数(CRUD)]拆分SAM,每个文件夹都包含其SAM模板。

如果您有一个共享服务,如Redis或SNS、SQS,您可以有一个单独的堆栈,其中包含导出导入功能来导入服务的ARN。

王波
2023-03-14

AWS SAM(自SAM v1.9.0起)支持映射到嵌套CloudFormation堆栈的嵌套应用程序,该堆栈的资源限制在200左右。(AWS::Serverless::应用程序转换为AWS::CloudFormation::堆栈)

https://github.com/awslabs/serverless-application-model/releases/tag/v1.9.0

诸俊才
2023-03-14

您应该尝试使用嵌套堆栈模式。您将创建一个父堆栈,而不是将当前堆栈拆分为多个并行堆栈,父堆栈反过来将创建多个子堆栈。

更多信息在这里。

 类似资料:
  • 我遇到了一个问题,我有多个窗体上有许多控件(20-40)。问题是,当我处理回发时,我需要将它们的值放入变量中,如果它们不是ASP.NET服务器控件(即选择、输入等)我有时需要确保他们的存在。因此,如果我有一个普通html复选框,它是未选中的,它将不会被发送到服务器,您需要检查它的存在,然后才能获得它的值。之后,我需要将它们传递到一个方法中以保存到数据库中。该方法处理我所有的crud和业务验证。设置

  • 问题内容: 我有一个Java应用程序,它需要显示大量数据(大约一百万个数据点)。数据并不需要全部同时显示,而仅在用户请求时才显示。该应用程序是桌面应用程序,未与应用程序服务器一起运行或未与任何集中式数据库连接。 我的想法是在计算机上运行数据库并在其中加载数据。在大多数时候,数据库都是只读的,因此我应该能够建立索引以帮助优化查询。如果我在本地系统上运行,则不确定是否应该尝试实现一些缓存(我不确定查询

  • 主要内容:1.什么是 Redis 大 key,2.大 key 会造成什么问题,3.如何找到大 key,4.如何删除大 key什么是 Redis 大 key 大 key 会造成什么问题 如何找到大 key 如何删除大 key 1.什么是 Redis 大 key 大 key 并不是指 key 的值很大,而是 key 对应的 value 很大。 一般而言,下面这两种情况被称为大 key: String 类型的值大于 10 KB; Hash、List、Set、ZSet 类型的元素的个数超过 5000个;

  • 我正在创建一个android应用程序的学校目录,并希望打开他们的详细信息在新的页面上点击它从列表视图。我该怎么处理?

  • 因此,我需要能够从数据库中返回大量数据以进行图形化。目前,我正在通过ajax使用GET,并通过php简单地生成必要的html。这对于少量数据很有效,但是每当我请求超过大约一年的数据时,我就会出现错误414。有人有更好的方法的建议吗,或者知道如何更改限制?谢谢。

  • 问题内容: 我正在寻找一种数学解决方案,该解决方案可以处理真实(长,大,大,风暴)数字。我还没有发现任何东西,但是我不想现在这个问题还没有解决。我正在寻找一种简单的Number解决方案,例如MicrosoftExcelPrecision(30位十进制)或BigInteger(Java)解决方案。当然是用Java语言编写的。 问题答案: BigInt现在是Firefox和Chrome的一部分; 你不