在 Serverless 中使用 .env 文件设置环境

Setting the env using a .env file in Serverless

使用 Serverless framework,我希望能够从环境变量更改 AWS 区域。

provider:
  name: aws
  region: ${env:AWS_REGION}

那么,AWS_REGION可以设置为eu-west-2

但是,我想将其设置在 .env 文件中:

AWS_REGION=eu-west-2

然后让 Serverless 读取 .env

关于在serverless.yml文件中设置变量,并从该文件中导出变量的主题很多,但我想将它们放入文件中。

开箱即用的无服务器不解析 .env,那部分属于你。

我看到三个选项供您选择:

  1. 使用serverless-dotenv-plugin.

  2. 在 运行 serverless.

  3. 之前写一个 exports .env vars to your local environment 的脚本
  4. 运行 docker-compose 中的无服务器,这是 .env 感知的——我将其与 Makefile 结合使用,即使在 CI/CD 上下文中也是如此。

Serverless now supports .env files without the need for a plugin

  1. useDotenv: true 添加到您的 serverless.yml 文件。该变量应位于根级别,与 service: ...

    相同
  2. 在项目的根目录添加一个 .env 文件,无服务器将加载变量。

示例:

// .env
MY_TABLE=A_TABLE_NAME