是否可以从无服务器部署中排除一些环境变量?

Is it possible to exclude some environment variables from serverless deploy?

我正在使用 Serverless for deploying my functions to AWS Lambda and Serverless Dot-Env 加载环境变量。但是,似乎无法从已部署的 Lambda 中排除其中一些变量。如果您继续访问 AWS 上的 Lambda 仪表板,您会发现 Environment variables 上列出的所有变量,但如果我不希望其中的某些变量(如 NODE_ENV 变量)出现在那里怎么办?我尝试在我的 serverless.yml 文件

中这样做
exclude:
 - ${env:NODE_ENV}

但变量仍然存在,如下图所示

那么有没有办法隐藏这些变量呢?

serverless-dot-env 目前没有黑名单选项,但他们有白名单选项。

示例来自 https://github.com/colynb/serverless-dotenv-plugin#plugin-options

custom:
  dotenv:
    path: path/to/my/.env (default ./.env)
    basePath: path/to/ (default ./)
    include:
      - AUTH0_CLIENT_ID
      - AUTH0_CLIENT_SECRET

如果您使用include,则只会包含您指定的变量。

更新:serverless-dotenv-plugin 自 2020 年 2 月 2 日起具有排除选项

示例来自 https://github.com/colynb/serverless-dotenv-plugin#plugin-options

custom:
  dotenv:
    exclude:
      - NODE_ENV # E.g for Google Cloud Functions, you cannot pass this env variable.