更*的阿里云API工具JCLI

缘起

致敬AliyunCLI,不可否认它非常好用,可以直接发起API请求,但是它需要依赖具体的SDK,且无法识别SDK中未包含的命令,这就让我想做一个更*一些的CLI工具。这样只要在API更新后,直接就可以使用,不需要等待SDK的迭代更新。

她的优势

  1. 不依赖SDK,完全使用用户传入的参数,忠心耿耿的拼接URL(只要API支持,就可以使用,不需依赖SDK是否更新)。
  2. 受惠于Java优秀的跨平台性,此程序在不同系统下均可顺利运行,拿着一个jar文件可以跑遍Windows、Mac和Linux(Solaris当然也没落下~)
  3. 命令使用绝大部分兼容AliyunCLI,会用AliyunCLI的同学只需花几分钟就可以上手JCLI
  4. 对中文字符的支持较好,实际测试在windows和linux下都可以正确显示中文字符
  5. 对于可以支持https的服务,优先使用https,提高安全性

更*的阿里云API工具JCLI

更*的阿里云API工具JCLI

她的不足

  1. 上面第一点的优点,也是它的缺点,由于不依赖SDK,她无法对传入的Action做校验,会出现即使输入一个错误的Action,还是会生成URL的情况。但俗话说的好,“鱼和熊掌不可兼得”,在得到巨大的*度下,牺牲一点健壮性还是可以接受的。
  2. 一些未知的代码bug……(尽管我已经很努力地去设想可能的情况,并做了容错,但估计还是有一些坑 Orz)

运行要求

  1. JDK(JRE)>=1.6
  2. jar包中一种引入了所有依赖的非JRE的jar包,理论上不需要再引入别的依赖包了

发布说明

压缩包里包含了Windows和Linux下封装好的脚本、详细的程序说明文档和jar本体,由于限制,附件只能上传一个,zip包中包含了以上所有的文件。

支持的服务

由于JCLI没有使用SDK,所以支持的服务是一次添加,永久使用(前提是公共参数和请求地址没有修改),目前经过测试,JCLI支持以下服务(目前还是比较笨的写死在程序中的,后续会考虑用更灵活的方法实现):

C:\>jcli list
Available ServiceType: RDS | DOMAIN | ESS | SLB | CMS | VPC | EMR | CDN | ACTIONTRAILS | ECS | ALIDNS | DRDS | RAM

备注

在运行时,若JCLI发现无法parse的参数,会主动打印出,方便debug:
更*的阿里云API工具JCLI

上一篇:sshd_config 中 PermitRootLogin 的探讨


下一篇:如何找到BAT的工作?