【问题标题】:Load only one section from a YAML config file从 YAML 配置文件中仅加载一个部分
【发布时间】:2018-12-05 14:06:53
【问题描述】:

我有多个组件,每个组件都需要加载特定的定义才能运行,我想将一个大的 YAML 文件分成多个部分,每个部分将属于不同的组件。

因此,我将拥有一个分为多个部分的大配置文件,而不是为 4 个组件创建 4 个配置文件。

现在我想将 yaml 配置文件中的相关部分加载到每个组件上。

我可以吗?以及如何?

更新:

两个答案都让我满意(将 YAML 文件嵌入到一个 YAML 文件中,另一个答案是将 JSON 解组为仅包含我在其中插入的相关部分的对象)。

【问题讨论】:

  • 首先:您能否展示您的代码并指出您正在使用的 YAML 库?标准库中没有 YAML 解析器,所以我假设您有一些 3rd 方库。也就是说,大多数工作与encoding/json 相同,因此您可以定义一个只有您想要的部分的类型,将其解组,然后您将只有该部分;冲洗并根据需要重复尽可能多的部分。

标签: go yaml configuration-files


【解决方案1】:

YAML 规范允许在一个文件中包含多个 YAML 文档,方法是用 --- 分隔它们:http://yaml.org/spec/1.2/spec.html#id2760395

您必须检查您正在使用的库如何处理此问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-09-30
    • 1970-01-01
    • 2013-03-22
    • 2015-05-27
    • 1970-01-01
    • 1970-01-01
    • 2023-03-13
    相关资源
    最近更新 更多