将StackName附加到Cloudformation资源

Kir*_*rst 1 naming amazon-web-services aws-cloudformation

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

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

如何在之前StackName添加CloudFormation资源?

MyLambdaFunction
  Type: "AWS:Serverless::Function"
  Properties:
    FunctionName: AWS::StackName + "-myLambdaFunction"
Run Code Online (Sandbox Code Playgroud)

小智 5

我更喜欢使用Fn :: Sub,因为我相信它比其他方法更容易阅读:

"RoleName": { "Fn::Sub" : "${AWS::StackName}-InstanceRole" },
Run Code Online (Sandbox Code Playgroud)