发布于: Jul 26, 2023

Amazon CloudFormation 宣布通过 Fn::ForEach 内部函数推出循环功能。使用 Fn::ForEach,您可以用最少的代码行复制模板的某些部分。您可以使用 Fn::ForEach 简化模板布局,让您和您的同行更轻松、更快地审查您的代码。Fn::ForEach 有助于减少人为错误,例如更新错误的属性或错过更新模板中多个目标属性的机会。

要使用 Fn::ForEach,您必须声明 Cloudformation 语言扩展转换。语言扩展转换扩展了基本 CloudFormation JSON/YAML 模板语言的功能。通过此次发布,您可以在模板的“资源”、“资源属性”、“条件”和“输出”部分中使用 Fn::ForEach。例如,您可以使用 Fn::ForEach 声明五个具有唯一标识符名称的 Amazon DynamoDB 实例,而不是复制相同的代码行。此外,您可以使用嵌套的 Fn::ForEach 循环,将 Fn::ForEach 与其他内部函数(例如 Fn::Join)组合起来生成高级模板。例如,您可以将 VPC、子网和中转网关等资源组合为嵌套环路,以创建联网堆栈。有关示例模板的示例,请参阅用户指南

Fn::ForEach 内部函数已在由光环新网运营的亚马逊云科技中国(北京)区域和由西云数据运营的亚马逊云科技中国(宁夏)区域推出。

Fn::ForEach 是通过我们的语言讨论 Github 存储库与 CloudFormation 社区进行公开讨论的结果。我们感谢社区分享他们的反馈。访问语言讨论存储库以请求语言功能,并就新语言功能的征求意见(RFC)提议留下反馈。