• 欢迎访问爱玩吧
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏爱玩吧

【云主机】阿里云API教程:使用CLI便捷管理您的阿里云ECS资源

建站资源 aiwanyule 9年前 (2016-05-09) 已收录

云主机阿里云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


爱玩吧 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:【云主机】阿里云API教程:使用CLI便捷管理您的阿里云ECS资源
喜欢 (0)