我有9个lambda函数作为单个CloudFormation项目的一部分。
我觉得每个Lambda函数的CloudFormation模板在许多地方开始变得相同&感觉它是重复的YAML代码。
是否有办法创建一个单一的Lambda配置&通过参数化输入重用相同的代码?
是的,CloudFormation嵌套堆栈可以帮助您将共享Lambda配置声明为一个组件,然后您可以将其用于多个资源.
不复制&为你的Lambda函数粘贴相同的配置,你可以创建一个专用的子Lambda函数。模板。
然后,您可以从一个封装的CloudFormation模板多次指向Lambda CloudFormation (CF)堆栈,通常称为"根堆栈"。
Parameters
,Outputs
&!GetAtt
将是帮助您在孩子之间共享数据的核心工具。根堆栈,以及参数化方面,如函数名,内存,运行时等
在组织规模上,AWS CloudFormation模块将更适合,它允许您在更大的规模上封装和重用资源配置。
AWS是这样描述它们的:
模块是可以跨多个CloudFormation模板重用的构建块就像本地CloudFormation资源一样使用
…
这意味着您可以创建一个模块来定义Lambda函数的组织标准,然后使用该Lambda模块在另一个模块中,该模块为您的无服务器Amazon API Gateway实现定义模式。