我有一个用Java编写的AWS lambda函数,该函数需要访问环境变量。我可以在AWS上设置它们,并且可以使用lambda函数中的以下代码行在将环境变量部署到AWS时访问环境变量:
System.getenv("myVariable");
对于本地开发,我将相同的环境变量放入lambda的运行配置中。不幸的是,当我尝试在本地访问环境变量时,我只会得到空值。我肯定做错了,因为我确定其他人一定在使用环境变量。
答案 0 :(得分:0)
因此,在花了整整一天的时间之后,我发帖30分钟后,我终于找到了答案。
似乎您不能仅将环境变量添加到AWS lambda的运行时配置中。相反,您还必须将其作为环境变量添加到template.yaml。以下是配置了三个环境变量(myvariable1,myvariable2,myvariable3)的样例template.yaml。希望这可以节省一整天的时间,而我却花了我很多时间。
`
AWSTemplateFormatVersion: '2010-09-09'
Transform: 'AWS::Serverless-2016-10-31'
Description: My test project.
Resources:
MyAwesomeFunction:
Type: 'AWS::Serverless::Function'
Properties:
FunctionName: MyAwesomeFunction
Handler: com.lambda.MyAwesome
Runtime: java11
CodeUri: .
Description: Does some really amazing things.
MemorySize: 512
Timeout: 30
Environment:
Variables:
myvariable1:
myvariable2:
myvariable3:
`