Serverless通过层级路径获取SSM参数

Serverless get SSM parameter by hierarchy path

有没有办法通过 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" 这正是我所需要的,但对于无服务器

您可以使用 Join 函数来合并多个值。类似于:

 environment:
    DB_XXX: ${ssm:/${self:custom.stage}/db/user}
      Fn::Join:
        - "-"
        - - ${ssm:/${self:custom.stage}/db/x1}
          - ${ssm:/${self:custom.stage}/db/x2}