Cloud9 не предоставляет экспорт bash_profile в nodejs lambda - PullRequest
0 голосов
/ 01 июля 2018

У меня развернулась среда Cloud9, и я изменил мой ~ / .bash_profile для экспорта значения в конец файла.

export foo="hello world"

Я запускаю . ~/.bash_profile, а затем echo $foo и вижу вывод hello world в терминале.

Затем я создал NodeJS Lambda с API-шлюзом. Я запускаю шлюз API локально в Cloud 9 и пытаюсь прочитать переменные среды

console.log(process.env)

Я вижу список доступных мне переменных, которые определил AWS. Мой экспорт там не указан, однако. Поскольку при развертывании Lambda я буду использовать переменные среды, я хочу протестировать ее с помощью переменных среды, определенных в среде Cloud9.

Есть ли что-то конкретное, что мне нужно сделать, чтобы Lambda прочитала мой экспорт .bash_profile?

Ответы [ 2 ]

0 голосов
/ 01 сентября 2018

См. Использование модели сервера приложений AWS (AWS SAM) Статья, в которой описано, как работать с переменными среды в SAM (как и в облаке 9).

В итоге - поместите переменные среды в файл template.yaml (присутствует в корневой папке вашего приложения), как показано ниже:

Properties:
  .... # tons of other properties here, add yours at the end
  Environment:
    Variables:
      MY_ENV_VARIABLE: 'This is my awesome env variable value'
0 голосов
/ 03 июля 2018

Плагин AWS Cloud9 Lambda поддерживается SAM Local, который использует Docker: https://github.com/awslabs/aws-sam-cli. По умолчанию это означает, что файл ~/.bash_profile не используется Lambda; Вы захотите загрузить это вручную.

...