阿里雲API教程:使用CLI便捷管理您的阿里雲ECS資源


阿里雲API教程:使用CLI便捷管理您的阿里雲資源
除了官網控制台,阿里雲各產品也提供API的方式操作資源。在一個開發人員看來,API的方式更能細粒度的控制雲服務的各種行為,更不用說API的功能集合是各種可視化工具的超集,例如:ECS的安全組(SecurityGroup)管理,控制台並沒有提供這一組功能的,用戶如果想控制安全組,則需要手動調用API。

但很不幸的是Aliyun API的開放時間比較晚,且沒有“順手”的CLI工具。這里向大家介紹一個命令行工具SmartCLI,可以供您方便的調用Aliyun API。Plus,該命令行工具還能記憶您的運行結果,為您進一步操作提供輔助提示。

開始之前請確保您的手邊有ECS API參考手冊(help.aliyun.com/view/11108189_13555701.html),並提前閱讀該手冊以便對Aliyun API的格式有一定的了解。
功能亮點
1,解壓即可用
跟AWS的Python版的CLI不同,SmartCLI是用C/C++寫成的,各操作系統原生支持。不需要預裝JRE、.NET Framework、Python等運行時,直接下載/解壓便可運行。

2,便捷輸入
根據當前的輸入場景自動補齊命令行,除了空格“ ”和等號“=”作為分隔命令行的特殊字符需要手動輸入外,其余關鍵字均可提示輸入。空格“ ”的作用是分隔Key=Value參數對,等號“=”的作用是分隔Key和Value。
“Tab”鍵會根據當前輸入的前綴自動補齊剩余部分,例如:輸入“Ec”,命令行會自動補齊為“Ecs”。
“↑↓”和“Tab”鍵配合使用會在所有的選項中來回切換,當輸入“Tab”鍵出現的提示不是想要的結果時,再輸入“↑“或者”↓“在所有符合條件的結果中切換。其他情況下,使用“↑“會返回上一條歷史命令,使用”↓“時會返回下一條歷史命令。

3,跨平台支持
雖然SmartCLI是用C/C++寫成,但是為了保持跨平台的特性,所有的代碼均盡力保持標准C/C++的特點。目前Windows版本的SmartCLI已經測試多時,Linux版本的SmartCLI后續會放出。
4,智能提示
好的API應該是自描述的,Aliyun API提供很多Describe類的接口,這些接口為進一步動作提供了輸入參數。SmartCLI會智能的記憶所有命令的輸出結果,根據配置的”興趣“項記憶輸出結果。當用戶下次需要使用前面出現的參數時,只需使用“↑↓”鍵便可選擇前面已經出現過的參數。例如:
查詢實例狀態接口(DescribeInstanceStatus)需要輸入的RegionId,CreateInstance接口需要輸入的InstanceType等字段可以通過預先DescribeRegions、DescribeInstanceType等接口查詢。

而CreateInstance返回的InstanceId又可以作為StartInstance的輸入參數,只需要輸入”=“后按”Tab“鍵,命令行會自動補齊上一個出現的InstanceId。
如何使用SmartCLI
1,UTF-8的顯示問題
默認情況下,Windows下的CMD中顯示中文是亂碼的,但是Aliyun API的”DescribeRegions“接口是會返回中文的。解決方法是雙擊ZIP文件夾中的”winconsole.reg“,該文件會自動更改CMD的編碼方式是65001,顯示字體為"Lucida Console"。
2,ZIP中的各文件
config.xml:存儲公共參數,運行前需要用戶手動填入自己賬戶的Key和Secret,關於如何取得Key和Secret請咨詢阿里雲客服。
params.xml:各產品API描述文件,可以手動修改添加其他阿里雲產品的支持,例如:SLB和RDS等。
run.bat :Windows版程序入口,自動修改命令行編碼和命令行長度。
3,命令格式
雙擊“run.bat”,進入命令行輸入狀態,可以直接鍵入“Tab”,也可以手動輸入相應的API接口名,命令行的格式如下:
[阿里雲產品名] [動作名] [動作參數]
注意:
產品名、動作名、參數名和值均遵循Aliyun的接入規范。
參數名和參數值以“=”連接,中間沒有空格“ ”。

3,內建命令
“exit”退出命令行,“clear”清除SmartCLI自動記憶的參數值,“reload”重新加載API描述文件“params.xml”。

已知問題
1,不支持中文輸入,暫不支持“Home”、“End”等特殊字符,支持“Backspace”、方向鍵。
2,除了ErrorResponse,正常調用的返回值沒有格式化,直接打印。
3,params.xml保存產品API描述,可以手動擴展,但未測試ECS之外的其他產品。
4,在Windows 7 64位和Windows 7 32位系統下測試通過,Linux和Mac版本后續放出。
5,個人能力有限,很多場景未進行測試,期待各位指出問題,后續改進。

SmartCLI的做成純屬個人興趣,該工具完全遵守Aliyun的接入規范。選擇C/C++的原因是Java、Python無法達到某些特性的需求,SmartCLI沒有任何惡意代碼,用戶可以通過防火牆監控SmartCLI的運行過程

SmartCLI for Windows下載地址:SmartCLI for Windows

SmartCLI for Windows下載地址:SmartCLI for Windows


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2020 ITdaan.com