【问题标题】:Is it possible to exclude some environment variables from serverless deploy?是否可以从无服务器部署中排除一些环境变量?
【发布时间】:2019-11-28 15:14:09
【问题描述】:

我使用 Serverless 将我的函数部署到 AWS Lambda 并使用 Serverless Dot-Env 加载环境变量。但是,似乎无法从部署的 Lambda 中排除其中一些变量。如果您访问 AWS 上的 Lambda 仪表板,您会发现 Environment variables 上列出的所有变量,但如果我不希望其中一些变量(例如 NODE_ENV 变量)出现怎么办?我尝试在我的 serverless.yml 文件中这样做

exclude:
 - ${env:NODE_ENV}

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

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

【问题讨论】:

    标签: aws-lambda serverless-framework


    【解决方案1】:

    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.
    

    【讨论】:

    • 这很奇怪,因为这样的功能应该不难编码。无论如何,谢谢,使用此配置有效:) 顺便说一下,如果您使用默认值 .env 或 .env,则无需指定 pathbasePath。{stage}
    猜你喜欢
    • 2018-09-09
    • 2022-11-23
    • 2019-07-09
    • 2018-12-14
    • 2021-03-16
    • 2016-12-17
    • 2021-05-01
    • 1970-01-01
    • 2010-12-19
    相关资源
    最近更新 更多