我仅在SAM模板中看到过具有单个值的示例:
Environment:
Variables:
TABLE_NAME: my-table
我想做这样的事情,但似乎不起作用:
Environment:
Variables:
myVar:
- prop1: aaa
prop2: sdfsdfsd
prop3: ssss
- prop1: bbb
prop2: wwwwww
prop3: aaaaa
我想要一个像对象列表一样的环境变量。我可以存储一个定界的字符串并自己解析,但我更希望它像对象/地图/列表一样,如果我准备好Yaml文件。
答案 0 :(得分:1)
您能做的最接近的是对环境变量的值进行json编码 并使用运行时语言对其进行解码:
Environment:
Variables:
USER: '{"name": "john", "surname": "galt"}'
如果要防止在每个请求上解码json,请将解码逻辑移到处理程序之外,在这种情况下,当lambda处于高温状态时,不会重新执行代码。
的信息您的Lambda函数代码中的任何声明(在处理程序代码之外,请参阅编程模型)都将保持初始化,从而在再次调用该函数时提供其他优化。例如,如果您的Lambda函数建立数据库连接,而不是重新建立连接,则在后续调用中使用原始连接。我们建议在代码中添加逻辑,以在创建连接之前检查连接是否存在。
我个人将创建一个json
文件,将其存储在s3存储桶中,并使用环境变量为该文件指定s3 url
。此外,在检索config
文件时,请根据情况使用上面提到的相同技术或使用更复杂的缓存机制