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
posta 4 anni fa418 visualizzazioni
1 Risposta
0
Risposta accettata

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
con risposta 4 anni fa
profile picture
ESPERTO
verificato un mese fa

Accesso non effettuato. Accedi per postare una risposta.

Una buona risposta soddisfa chiaramente la domanda, fornisce un feedback costruttivo e incoraggia la crescita professionale del richiedente.

Linee guida per rispondere alle domande