【发布时间】:2019-01-28 10:24:54
【问题描述】:
我正在尝试构建一个 ECS (Fargate) 任务定义,它使用传递给 Command 的可变数量的环境变量。每个变量名称都与 SecretsManager 中的一个秘密匹配。
我无法以有意义的方式组合这些功能。以下代码只是将所有变量作为字符串列表传递给 Command。
SpecEnvVars:
Type: CommaDelimitedList
Default: "greeting,name,title,rank"
Description: |
The Environmental Variables to pull into the container, defined by their
associated Secrets names
ContainerDefinitions:
- Name: !Ref 'ServiceName'
Command: !Split
- ','
- !Join
- ','
- !Ref SpecEnvVars
但是,我需要将列表中的项目解析为机密 JSON。解决秘密是这样完成的:
!Sub '{{resolve:secretsmanager:test/${greeting}}}'
如何将 Fn::Sub 与 Split/Join 集成以返回 SecretsManager JSON 字符串列表?
【问题讨论】: