溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

驗(yàn)證toml配置文件合法性

發(fā)布時(shí)間:2020-07-23 19:46:04 來源:網(wǎng)絡(luò) 閱讀:1010 作者:阿澤Aze 欄目:系統(tǒng)運(yùn)維

背景

我們知道現(xiàn)在主流的配置文件格式有xml,json,toml,yaml,這里我以toml為例,因?yàn)槲覀冺?xiàng)目用的是toml格式的配置文件。有一次線上發(fā)布代碼的時(shí)候由于沒有驗(yàn)證toml配置文件的合法性,配置推上去后,程序沒有正常啟動(dòng),導(dǎo)致服務(wù)不可用。

思考

出現(xiàn)這個(gè)失誤之后,我認(rèn)為應(yīng)該可以在發(fā)布代碼之前,先提前驗(yàn)證下配置文件的合法性,避免出現(xiàn)低級(jí)的人為失誤,
把錯(cuò)誤的配置文件推到線上去,于是想找可以驗(yàn)證toml配置文件的合法性的工具。

方案

這里需要安裝golang,假設(shè)在linux環(huán)境下
  1. 獲取源碼

    go get github.com/BurntSushi/toml

  2. 進(jìn)到目錄github.com/BurntSushi/tomlcmd/tomlv 下,進(jìn)行編譯

    go build .

  3. 然后把tomlv放到/bin目錄下。
  4. 驗(yàn)證toml配置文件合法性,用法如下:

    tomlv some-toml-file.toml

如果錯(cuò)誤會(huì)有輸出,比如

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

然后我們可以根據(jù)這個(gè)命令的返回狀態(tài)來判斷是否驗(yàn)證成功,0 成功 ,1 失敗。

  1. 還有查看toml的配置項(xiàng)的各個(gè)類型:

    tomlv -types some-toml-file.toml

結(jié)果如下:
驗(yàn)證toml配置文件合法性

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI