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
demandé il y a 4 ans418 vues
1 réponse
0
Réponse acceptée

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
répondu il y a 4 ans
profile picture
EXPERT
vérifié il y a un mois

Vous n'êtes pas connecté. Se connecter pour publier une réponse.

Une bonne réponse répond clairement à la question, contient des commentaires constructifs et encourage le développement professionnel de la personne qui pose la question.

Instructions pour répondre aux questions