【问题标题】:Serverless deployed environment variables do not update无服务器部署的环境变量不更新
【发布时间】: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


【解决方案1】:

我解决了这个问题,将 ${self:custom.stage} 更改为 ${opt:stage, self:provider.stage, 'dev'} 我希望它对你的情况有用。谢谢

【讨论】:

    猜你喜欢
    • 2018-12-14
    • 2016-12-17
    • 1970-01-01
    • 2021-05-01
    • 1970-01-01
    • 2018-12-03
    • 1970-01-01
    • 2021-11-17
    • 2022-10-23
    相关资源
    最近更新 更多