如何通过在 AWS CloudFormation YAML 模板中连接参数值和字符串来动态创建资源(用户池)名称?

MAK*_*MAK 7 aws-cloudformation amazon-cognito aws-userpools

我正在尝试使用 YAML 创建 AWS CloudFormation 模板。我添加一个 UserPool 资源,如下所示。用户池名称和 ID 应通过参数值获取,即,如果参数 paramUserPoolName 的值为“Sample”,则:

用户池名称 = 示例

UserPool 资源名称 = SampleUserPool 即“paramUserPoolName + UserPool”的串联值

Parameters:
  paramUserPoolName:
    Type: String
Resources:
  <I need 'paramUserPoolName + UserPool' here >:
    Type: 'AWS::Cognito::UserPool'
    Properties: {
        "UserPoolName": paramUserPoolName
    }
Run Code Online (Sandbox Code Playgroud)

如何在 CloudFormation 模板中动态创建资源 id?

附:

以下工作有效:

    Resources:
     SampleUserPool:
      Type: 'AWS::Cognito::UserPool'
      Properties:
       UserPoolName: !Sub ${paramUserPoolName}UserPool
Run Code Online (Sandbox Code Playgroud)

kic*_*hik 13

用于!Sub此。您也可以使用!Join,但!Sub更容易。

Parameters:
  paramUserPoolName:
    Type: String
Resources:
    Type: 'AWS::Cognito::UserPool'
    Properties:
        UserPoolName: !Sub ${paramUserPoolName}UserPool
Run Code Online (Sandbox Code Playgroud)