Amazon web services AWS云形成的全球环境变量

Amazon web services AWS云形成的全球环境变量,amazon-web-services,aws-lambda,amazon-cloudformation,Amazon Web Services,Aws Lambda,Amazon Cloudformation,有没有办法在AWS CloudFormation yaml文件中为Lambdas设置全局环境变量 目前,我们正在为全局变量使用SSM参数存储,但我们不想再使用它了 我期待着有这样的东西: Environment: Variables: variable1: xxx // local variables variable2: xxx ... ${file(./globalvariables.yml)} // global variables 或者更好:每个lamb

有没有办法在AWS CloudFormation yaml文件中为Lambdas设置全局环境变量

目前,我们正在为全局变量使用SSM参数存储,但我们不想再使用它了

我期待着有这样的东西:

Environment:
  Variables:
    variable1: xxx // local variables
    variable2: xxx
    ...
  ${file(./globalvariables.yml)} // global variables
或者更好:每个lambda都包含全局环境变量作为默认值,而不显式调用它


这可能吗?或者你会建议什么方法?提前谢谢

遗憾的是,我不知道通过CloudFormation为Lambdas设置环境变量的预定义默认值,但是-一个可能的选择是,不在CloudFormation中使用env变量,而是添加一个包含所有配置的lambda层,并从中提取值

这样做的好处是,如果值发生更改,则只需更新图层一次,然后更新lambdas以使用新图层,该图层可以是单个参数,而不是手动更新每个参数

此处的文档:


另一种选择是按照ServerMonkey的建议使用AWS Secrets Manager或SSM参数存储。

您能详细介绍一下为什么不使用SSM参数存储吗?我个人认为SSM参数存储是一个不错的选择,因为它集中、易于修改、支持IAM并且可以加密。原因是SSM参数存储非常慢。谢谢!我认为分层是最好的选择