无服务器通过层次结构路径获取SSM参数

问题描述

是否可以通过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}

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...