4 votes

Les variables d'environnement AWS Lambda ne sont pas définies, process.env est indéfini dans Node.

Même si le tableau de bord de la fonction Lambda me montre NODE_ENV répertorié comme une variable d'environnement, process.env.NODE_ENV est indéfini lorsque j'exécute ma fonction Node AWS Lambda.

Ce code...

console.log('node process env NODE_ENV:');
console.log(process.env.NODE_ENV);

affiche ceci:

node process env NODE_ENV:
undefined

Je me demandais si c'était un problème de rôle, donc j'ai donné à son rôle toutes les autorisations sur AWS Lambda, mais cela n'a pas aidé.

Pour ce que ça vaut, j'utilise le constructeur de robots Claudia, en exécutant le script npm

"deploy:production": "claudia update --version production --set-env NODE_ENV=production",

Mais comme je l'ai dit, l'environnement NODE_ENV apparaît dans la liste des variables d'environnement dans le tableau de bord de la fonction.

Des idées?

2voto

Mikal Madsen Points 364

Il s'avère que le problème venait du fait que Webpack avait compressé process.env.

J'ai contourné le problème en utilisant babel-plugin-transform-inline-environment-variables, qui intègre les variables d'environnement au moment de la construction.

0voto

aminh101sj Points 111

J'ai découvert que tant que vous mettez target: node dans votre configuration webpack, vous aurez accès aux variables process.env.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X