Serverless 通过层次结构路径获取 SSM 参数
Posted
技术标签:
【中文标题】Serverless 通过层次结构路径获取 SSM 参数【英文标题】:Serverless get SSM parameter by hierarchy path 【发布时间】:2020-12-17 12:38:21 【问题描述】:有没有办法通过 serverless.yml 将多个 ssm 参数检索到环境变量中?
例如,现在我有参数:“/dev/db/user”和“/dev/db/password”以及 serverless.yml:
environment:
DB_USER: $ssm:/$self:custom.stage/db/user
DB_PASSWORD: $ssm:/$self:custom.stage/db/password
custom.stage 将是 dev/prod 等。
问题是会有更多的数据库信息,主机名,端口可能更多谁知道,那么有没有办法将所有内容检索到单个环境变量中?
我考虑过使用带有所有信息的 json 字符串的单个 ssm 参数,并在云函数中解析它,但也许有更像 aws cli 命令的东西:
aws ssm get-parameters-by-path --path "/dev/db"
这正是我需要的,但对于无服务器
【问题讨论】:
【参考方案1】:您可以使用 Join 函数来组合多个值。比如:
environment:
DB_XXX: $ssm:/$self:custom.stage/db/user
Fn::Join:
- "-"
- - $ssm:/$self:custom.stage/db/x1
- $ssm:/$self:custom.stage/db/x2
【讨论】:
我明白了,所以我想我最终必须以某种方式解析它,谢谢您的帮助以上是关于Serverless 通过层次结构路径获取 SSM 参数的主要内容,如果未能解决你的问题,请参考以下文章