AWS Cloudformation:重用 Fn::FindInMap 的结果

问题描述

在 template.yml 中,定义了一个映射 regionTodomainMap,我使用 {Fn::FindInMap: [regionTodomainMap,Ref: Region,"regionTodomain"]} 在多个地方访问它。

有没有办法将它分配给一个变量并使用它而不是到处使用这个长格式?

解决方法

遗憾的是,CloudFormation (CFN) 中没有变量,因此您无法通过变量来缩短地图的使用时间。但是,如果经常使用这种或类似的结构,您可以考虑在 CFN 中开发一个基本的查找和替换 macro

您还可以查看 AWS 提供和管理的 AWS::Include transform,这对您的情况也有帮助。