How do I access Lambda environment variables in IoT Greengrass?

0

I have a Lambda function with a NodeJS 12.x runtime and five environment variables. When I write the output of process.env['someVar'] while testing the Lambda in the console, I can see the value of the environment variable.

When I deploy the Lambda to a Greengrass Core (version 1.10), I do not see any value returned by process.env['someVar']. Is there a different mechanism to access them? The docs suggest there is no difference. "Key-value pairs that can dynamically pass settings to function code and libraries. Local environment variables work the same way as AWS Lambda function environment variables, but are available in the core environment."

Lambda cloud log

2020-04-15T21:10:28.389Z	842e9642-8982-44cc-bb84-a7f8e9a3cdec	INFO	url http://localhost:80
2020-04-15T21:10:28.389Z	842e9642-8982-44cc-bb84-a7f8e9a3cdec	INFO	process.env INFLUXDB_URL http://localhost:80

Lambda greengrass log

[2020-04-15T21:02:10.817Z][INFO]-url
[2020-04-15T21:02:10.817Z][INFO]-process.env INFLUXDB_URL

What am I missing?

AWS
Ryan_B
已提问 4 年前418 查看次数
1 回答
0
已接受的回答

The Lambda environment variables don't carry over, you need to add the environment variables to the "Group-specific Lambda configuration" in the AWS IoT Greengrass console.

https://docs.aws.amazon.com/greengrass/latest/developerguide/lambda-group-config.html

AWS
已回答 4 年前
profile picture
专家
已审核 1 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则