问题描述
是否可以通过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等。
问题是是否会有更多的数据库信息,主机名,端口可能知道的更多,所以是否有办法将所有内容检索到一个环境变量中?
我考虑过将单个ssm参数和json字符串与所有信息一起使用,并在cloud函数中对其进行解析,但是也许还有一些类似于aws cli命令的内容:
aws ssm get-parameters-by-path --path "/dev/db"
正是我所需要的,但是对于无服务器而言
解决方法
您可以使用Join函数合并多个值。像这样:
environment:
DB_XXX: ${ssm:/${self:custom.stage}/db/user}
Fn::Join:
- "-"
- - ${ssm:/${self:custom.stage}/db/x1}
- ${ssm:/${self:custom.stage}/db/x2}