【问题标题】:referencing a text file in yaml引用 yaml 中的文本文件
【发布时间】:2020-11-01 16:11:22
【问题描述】:

我有一个 yaml 文件,其中一个值 >2000 行。在配置中添加 2k 行无助于获得干净清晰的配置文件。是否可以将 2k 行移动到文本文件中并在读取 yaml 时引用文件的内容作为值

当前设置

curated:
    xform1: 
        case when A=B then C else D end
    xform2:
        case ....
        ...............
        ..............
        ................
        2000k lines
        end 

想要的

curated:
    xform1: 
        case when A=B then C else D end
    xform2:xform2.txt

【问题讨论】:

    标签: file yaml substitution


    【解决方案1】:

    不是纯 YAML 语义。

    如果你写的是加载代码,当然可以定义一个本地标签:

    curated:
      xform1:
        case when A=B then C else D end
      xform2: !file xform2.txt
    

    加载时,可以实现本地标签!file作为加载引用文件。如何做到这一点取决于您使用的 YAML 实现;它可能会调用这个注册自定义构造函数。

    如果您没有对加载代码有任何控制权,那么除非该代码提供了一种方法,否则这是不可能的。一些使用 YAML 的工具会使用模板引擎对其进行预处理。

    根据设置,自己使用模板引擎预处理 YAML,然后将结果输入到加载 YAML 的工具中可能是一个可行的解决方案。

    【讨论】:

      猜你喜欢
      • 2019-09-12
      • 2019-11-21
      • 2012-12-05
      • 1970-01-01
      • 2016-11-05
      • 1970-01-01
      • 1970-01-01
      • 2019-01-06
      • 1970-01-01
      相关资源
      最近更新 更多