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
feita há 4 anos418 visualizações
1 Resposta
0
Resposta aceita

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
respondido há 4 anos
profile picture
ESPECIALISTA
avaliado há um mês

Você não está conectado. Fazer login para postar uma resposta.

Uma boa resposta responde claramente à pergunta, dá feedback construtivo e incentiva o crescimento profissional de quem perguntou.

Diretrizes para responder a perguntas