首页 > 解决方案 > 将 StackName 附加到 Cloudformation 资源

问题描述

我想拥有基于单个 CloudFormation 模板的多个堆栈,但我遇到了命名冲突。解决这个问题的最简单方法似乎是将 附加StackName到每个重复的资源,例如我的 lambda 函数或角色。

AWS在文档AWS::StackName“模板参考”部分中进行了讨论,但没有明确演示如何执行此操作。

如何将StackName预置到 CloudFormation 资源?

MyLambdaFunction
  Type: "AWS:Serverless::Function"
  Properties:
    FunctionName: AWS::StackName + "-myLambdaFunction"

标签: amazon-web-servicesamazon-cloudformationnaming

解决方案


我更喜欢使用Fn::Sub,因为我相信它比替代方案更容易阅读:

"RoleName": { "Fn::Sub" : "${AWS::StackName}-InstanceRole" },

推荐阅读