验证toml配置文件合法性

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了验证toml配置文件合法性相关的知识,希望对你有一定的参考价值。

背景

我们知道现在主流的配置文件格式有xml,json,toml,yaml,这里我以toml为例,因为我们项目用的是toml格式的配置文件。有一次线上发布代码的时候由于没有验证toml配置文件的合法性,配置推上去后,程序没有正常启动,导致服务不可用。

思考

出现这个失误之后,我认为应该可以在发布代码之前,先提前验证下配置文件的合法性,避免出现低级的人为失误,
把错误的配置文件推到线上去,于是想找可以验证toml配置文件的合法性的工具。

方案

这里需要安装golang,假设在linux环境下
  1. 获取源码

    go get github.com/BurntSushi/toml

  2. 进到目录github.com/BurntSushi/tomlcmd/tomlv 下,进行编译

    go build .

  3. 然后把tomlv放到/bin目录下。
  4. 验证toml配置文件合法性,用法如下:

    tomlv some-toml-file.toml

如果错误会有输出,比如

Error in ‘config.conf‘: Near line 1 (last key parsed ‘service‘): expected a top-level item to end with a newline, comment, or EOF, but got ‘]‘ instead

然后我们可以根据这个命令的返回状态来判断是否验证成功,0 成功 ,1 失败。

  1. 还有查看toml的配置项的各个类型:

    tomlv -types some-toml-file.toml

结果如下:
技术图片

以上是关于验证toml配置文件合法性的主要内容,如果未能解决你的问题,请参考以下文章

TOML 详解

TOML 简介

使用 pyproject.toml 和 flake8 指定每个文件忽略

TOML 1.0格式语法

toml

忽略黑色格式化程序的 pyproject.toml 文件中的 Django 迁移