0

对于单个键,我在历史记录中有多个值,因为参数存储维护历史记录。

示例 cloudformation 脚本:

Parameters: {
        "P1": {
            "Description": "parameter",
            "Type": "AWS::SSM::Parameter::Value<String>",
            "Default": "KEY_NAME:VERSION"
        }
}

我可以执行上面的操作,即 keyname:version

我想使用标签而不是版本访问参数。

用这种方法或其他方法如何做到这一点?

4

2 回答 2

1

在这种情况下您不能使用标签:

CloudFormation不支持在动态引用中使用参数标签或公共参数。

于 2020-04-16T23:23:41.963 回答
1

我认为如果您使用宏可以解决。使用宏,您可以调用从参数存储中获取您想要的确切值的 lambda,然后在模板中执行转换并捕获您想要的值。

例如,这里我将一些存储在参数存储中的环境变量写入 ECS 任务定义中。我的宏是 MacroEnvVars

    Fn::Transform:
        Name: MacroEnvVars
        Parameters:
          Prefix: MSX
          Environment: !Ref Environment
          EnvVarsLocation: !Ref EnvVarsLocation

然后我的宏返回更新和修改的模板,并使用参数存储中的环境变量执行部署

请在此处查看aws 文档

于 2020-04-17T04:44:54.627 回答