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



我正试图将环境变量传递到serverless.yml(版本2.32.0(中的Lambda函数,但我不确定这样做的方法https://www.serverless.com/framework/docs/environment-variables/没有提到如何。现在,我正在使用useDotenv: true选项,然后尝试通过${process.env.ENV1}访问环境变量,但它不起作用。以下是我的serverless.yml文件:

serverless.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}

当我运行sls deploy时,我没有收到任何错误或警告,但环境变量没有被上传。我该怎么做?

好的,我用env:替换了process.env.

serverless.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

最新更新