【发布时间】:2022-11-23 05:40:12
【问题描述】:
该应用程序是一个使用无服务器部署到 AWS Lambda 的 nodejs 应用程序。我将生产环境变量存储在.env-prod.json
无服务器.yml:
custom:
stage: ${opt:stage, self:provider.stage}
service: my-backend
provider:
name: aws
runtime: nodejs14.x
stage: prod
region: us-east-1
memorySize: 128
functions:
app:
handler: index.handler
environment: ${file(./.env-${self:custom.stage}.json)}
events:
- http:
path: /
method: ANY
cors: true
- http:
path: /{proxy+}
method: ANY
cors: true
.env-prod.json:
{
"ENVIRONMENT": "prod",
"TEST1": "abc",
"TEST2": "abc2"
}
对于第一个 serverless deploy,我只有 TEST1 var 存在,并且部署成功。现在,在我添加TEST2 var 之后,然后运行serverless deploy,它不会部署新变量或对变量的任何更改,只有代码和代码更改。为了更改或添加新变量,我必须转到 AWS 控制台 UI 并在那里进行操作。
是否有一些特殊的方法来重新部署变量?我试过 force 选项但没有效果。
【问题讨论】:
-
同样在这里。我正在使用 .env 文件和 dotenv,在部署完成之前更新它的文件在部署完成时没有任何效果。这是战略。
标签: node.js amazon-web-services aws-lambda environment-variables serverless