天天看點

更自由的阿裡雲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緣起她的優勢她的不足運作要求釋出說明支援的服務備注