0

我有一个 Cloud9 环境启动并修改了我的 ~/.bash_profile 以在文件末尾导出一个值。

export foo="hello world"

我运行. ~/.bash_profile,然后在终端中echo $foo看到输出。hello world

然后,我使用 API Gateway 创建了一个 NodeJS Lambda。我在 Cloud 9 中本地运行 API 网关并尝试读取环境变量

console.log(process.env)

我看到了 AWS 定义的可用变量列表。但是,我的出口没有列出。由于我将在部署 Lambda 时使用环境变量,因此我想使用 Cloud9 环境中定义的环境变量对其进行测试。

为了让 Lambda 读取我的 .bash_profile 导出,我需要做些什么具体的事情吗?

4

2 回答 2

1

请参阅使用 AWS 无服务器应用程序模型 (AWS SAM)文章,该文章描述了如何在 SAM 中使用环境变量(在 cloud9 中也是如此)。

总之 - 将环境变量放入 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'
于 2018-09-01T07:06:28.773 回答
0

AWS Cloud9 的 Lambda 插件由使用 Docker 的 SAM Local 提供支持:https ://github.com/awslabs/aws-sam-cli 。默认情况下,这意味着~/.bash_profileLambda 不使用该文件;您需要手动加载它。

于 2018-07-03T20:37:04.723 回答