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 参数的主要内容,如果未能解决你的问题,请参考以下文章

如何使用分层子查询构建层次结构路径

文件管理-第一节9:文件系统的层次结构

文件管理-第一节9:文件系统的层次结构

从 Angular 6 材质树中的子节点获取父层次结构

Android - 任何Activity的根视图层次结构中存在的所有视图的相对路径生成器

属于多个层次结构的成员的路径是啥?