gpt4 book ai didi

yaml - 如何从 YAML 调用 .env 文件?

转载 作者:行者123 更新时间:2023-12-05 02:18:20 24 4
gpt4 key购买 nike

我想在我的 yaml 中隐藏我的 secret 凭证,我需要使用 .env,那么如何从我的 yaml 中调用 .env 文件,这样每次我调用这个 YAML,YAML 都会自动调用 .env 文件。请帮我。谢谢

最佳答案

而不是使用 .env 文件,如果您遵循 dotenv,它是一个简单的属性文件包,您可以执行以下操作:

  1. 创建额外的 .yml 文件,例如 .secrets.yml。您可以按阶段存储 secret :
prod:
MY_SECRET: foo
dev:
MY_SECRET: bar
  1. 在那里存储你的 secret /配置

然后在 serverless.yml 中:

  1. 将此文件加载到一个对象中:
custom:
secrets: ${file(.secrets.yml):${self:provider.stage}}
  1. 将对象字段加载为环境变量:
provider:
environment:
MY_SECRET: ${self:custom.secrets.MY_SECRET}

如何在本地进行测试

在您的测试中,您可以通过这种方式加载 secret 文件:

const yaml = require('js-yaml');
const fs = require('fs');
const _ = require('lodash');

module.exports.loadSecrets = function (env = 'dev', path = './.secrets.yml') {
const secrets = yaml.load(fs.readFileSync(path));
_.forEach(secrets[env], (value, key) => {
process.env[key] = value;
});
}

引用:http://www.goingserverless.com/blog/using-environment-variables-with-the-serverless-framework

关于yaml - 如何从 YAML 调用 .env 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45611268/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com