借助AWS CloudFormation,开发人员可以建模并定义他们的基础设施即代码(IaC)。亚马逊发布了一项名为Macros的AWS CloudFormation新功能,开发人员可以通过调用基于AWS Lambda Function的转换来扩展CloudFormation模板的原生语法。
\\AWS CloudFormation是AWS平台必不可少的构建块,有很多服务都依赖它。自2011年首次发布以来,CloudFormation已经发展到目前的状态,最近新增了Macros功能。AWS CloudFormations的宏包含了两个组件:定义和实现。开发人员创建一个定义,以CloudFormation资源类型AWS::CloudFormation::Macro开头,概述了要使用的Lambda Function以及应该被调用的宏。
\\\Type: \"AWS::CloudFormation::Macro\"\Properties:\ Description: String\ FunctionName: String\ LogGroupName: String\ LogRoleARN: String\ Name: String
\\
在定义中,Name必须是唯一的,并且FunctionName对Lambda Function的引用需要与宏位于同一区域。当开发人员执行宏模板时,对于其他模板也是可用的。宏的实现是一个Lambda Function,它需要一个JSON载荷。
\\\{\ \"region\": \"us-east-1\