天天看點

更自由的阿裡雲API工具JCLI緣起她的優勢她的不足運作要求釋出說明支援的服務備注

緻敬aliyuncli,不可否認它非常好用,可以直接發起api請求,但是它需要依賴具體的sdk,且無法識别sdk中未包含的指令,這就讓我想做一個更自由一些的cli工具。這樣隻要在api更新後,直接就可以使用,不需要等待sdk的疊代更新。

不依賴sdk,完全使用使用者傳入的參數,忠心耿耿的拼接url(隻要api支援,就可以使用,不需依賴sdk是否更新)。

受惠于java優秀的跨平台性,此程式在不同系統下均可順利運作,拿着一個jar檔案可以跑遍windows、mac和linux(solaris當然也沒落下~)

指令使用絕大部分相容aliyuncli,會用aliyuncli的同學隻需花幾分鐘就可以上手jcli

對中文字元的支援較好,實際測試在windows和linux下都可以正确顯示中文字元

對于可以支援https的服務,優先使用https,提高安全性

更自由的阿裡雲API工具JCLI緣起她的優勢她的不足運作要求釋出說明支援的服務備注
更自由的阿裡雲API工具JCLI緣起她的優勢她的不足運作要求釋出說明支援的服務備注

上面第一點的優點,也是它的缺點,由于不依賴sdk,她無法對傳入的action做校驗,會出現即使輸入一個錯誤的action,還是會生成url的情況。但俗話說的好,“魚和熊掌不可兼得”,在得到巨大的自由度下,犧牲一點健壯性還是可以接受的。

一些未知的代碼bug……(盡管我已經很努力地去設想可能的情況,并做了容錯,但估計還是有一些坑 orz)

jdk(jre)>=1.6

jar包中一種引入了所有依賴的非jre的jar包,理論上不需要再引入别的依賴包了

壓縮包裡包含了windows和linux下封裝好的腳本、詳細的程式說明文檔和jar本體,由于限制,附件隻能上傳一個,zip包中包含了以上所有的檔案。

由于jcli沒有使用sdk,是以支援的服務是一次添加,永久使用(前提是公共參數和請求位址沒有修改),目前經過測試,jcli支援以下服務(目前還是比較笨的寫死在程式中的,後續會考慮用更靈活的方法實作):

在運作時,若jcli發現無法parse的參數,會主動列印出,友善debug:

更自由的阿裡雲API工具JCLI緣起她的優勢她的不足運作要求釋出說明支援的服務備注