如何使用 serverless.yml 中的 useDotenv: true 选项访问环境变量并传递给 Lambda 函数?

use*_*579 4 environment-variables serverless-framework

我正在尝试将环境变量传递给 serverless.yml(版本 2.32.0)中的 Lambda 函数,但我不确定如何执行此操作。文档: https: //www.serverless.com/framework/docs/environment-variables/没有提及如何操作。现在,我正在使用该useDotenv: true选项,然后尝试访问环境变量,${process.env.ENV1}但它不起作用。以下是我的serverless.yml文件:

无服务器.yml

service: service-name
frameworkVersion: "2.32.0"
useDotenv: true

provider:
  name: aws
  versionFunctions: false
  runtime: nodejs12.x
  region: <region>
  stage: dev
  profile: default

functions:
  function-name:
    handler: handler
    timeout: 120
    environment:
      ENV1: ${process.env.ENV1}
      ENV2: ${process.env.ENV2}
      ENV3: ${process.env.ENV3}
Run Code Online (Sandbox Code Playgroud)

我运行时没有收到任何错误或警告,sls deploy但没有上传环境变量。我怎样才能做到呢?

use*_*579 8

process.env.好的,我通过替换得到它env:

无服务器.yml:

service: service-name
frameworkVersion: "2.32.0"
useDotenv: true

provider:
  name: aws
  versionFunctions: false
  runtime: nodejs12.x
  region: <region>
  stage: dev
  profile: default

functions:
  function-name:
    handler: handler
    environment:
      ENV1: ${env:ENV1}
      ENV2: ${env:ENV2}
      ENV3: ${env:ENV3}
    timeout: 120
Run Code Online (Sandbox Code Playgroud)