开发者社区> 问答> 正文

分享一个阿里云API的开源Java封装库

阿里云今年4月份的时候更新了ECS API , 提供了完整的API 接口, 用户在管理控制台能做的操作通过API也都能实现了。 基于这个API,用户可以实现自动化管理和部署功能。 但是,阿里云官方只提供了简单的Python和Java例子,没有完整的SDK。

我们在开发Fit2Cloud for 阿里云(http://aliyun.fit2cloud.com/)过程中,需要调用ECS API进行各种操作。 我们的后端开发采用的是Java,所以我们使用java语言完整封装了ECS的API。 通过API(或者基于API的第三方工具)来管理资源很方便,因此我们决定将我们封装好的ECS API Java SDK开源出去,希望对别人有帮助。

项目的Github地址是:https://github.com/fit2cloud/aliyun-api-java-wrapper , 欢迎大家使用。 大致的使用步骤如下:

第一步:引用Jar包

方法1:使用Maven
<repositories>
    <repository>
        <id>fit2cloud</id>
        <url>http://repository.fit2cloud.com/content/groups/public/</url>
        <releases>
            <enabled>true</enabled>
        </releases>
        <snapshots>
            <enabled>true</enabled>
        </snapshots>
    </repository>  
</repositories>
<dependency>
  <groupId>com.fit2cloud</groupId>
  <artifactId>aliyun-api-java-wrapper</artifactId>
  <version>1.0</version>
</dependency>


方法2:直接下载Jar包


下载链接: http://repository.fit2cloud.com/service/local/repo_groups/public/content/com/fit2cloud/aliyun-api-java-wrapper/1.0/aliyun-api-java-wrapper-1.0-jar-with-dependencies.jar
  
第二步:调用Aliyun ECS API  
String ACCESS_KEY_ID = "你的阿里云API Access key";
String ACCESS_KEY_SECRET = "你的阿里云API Secret key";
ECSClient client = new ECSClient(new AliyunCredentials(ACCESS_KEY_ID, ACCESS_KEY_SECRET));
ListRegionsResponse response = client.listRegions();
目前我们仅封装了ECS相关API,包括

  • listRegions: 获取数据中心列表
  • listZones: 获取Zone列表
  • listImages: 获取镜像列表
  • listSecurityGroups: 获取安全组列表
  • createSecurityGroup: 创建安全组
  • authorizeSecurityGroup: 为完全组添加规则
  • revokeSecurityGroup: 取消规则
  • listSecurityPermissions: 列出安全组的规则
  • deleteSecurityGroup: 删除安全组
  • joinSecurityGroup: 将虚机加入安全组
  • listInstanceType: 列出虚机类型
  • createInstance: 创建虚机
  • getInstance: 获取虚机详细信息
  • listInstances: 获取虚机列表
  • startInstance: 启动虚机
  • allocatePublicIp: 为虚机分配公有IP
  • rebootInstance: 重启虚机
  • stopInstance: 停止虚机
  • deleteInstance: 删除虚机
  • addDisk: 为虚机增加数据盘
  • listDisks: 列出虚机的磁盘列表

API调用都会有两类异常:
  • AliyunClientException: 客戶端錯誤,比如网络问题
  • AliyunServiceException: 服务器端错误,阿里云会返回错误代码和具体消息

后续我们还会陆续增加对SLB、OSS等其他阿里云服务的API支持。 敬请期待!
备注: 目前支持的ECS API版本为: API 版本 2013-01-10

展开
收起
fit2cloud 2014-08-06 15:16:24 12809 0
9 条回答
写回答
取消 提交回答
  • 太赞了!这个必须顶起!
    2014-08-14 09:23:01
    赞同 展开评论 打赏
  • 欢迎进行技术分享,感谢你的支持!
    2014-08-13 23:04:37
    赞同 展开评论 打赏
  • LT是个伪程序员
    支持楼主分享精神!
    2014-08-08 15:25:01
    赞同 展开评论 打赏
  • Re分享一个阿里云API的开源Java封装库
    楼主好样的!!!
    2014-08-08 15:10:41
    赞同 展开评论 打赏
  • fcc
    Re分享一个阿里云API的开源Java封装库
    支持开源,支持分享,顶起
    2014-08-08 09:39:58
    赞同 展开评论 打赏
  • 这么好的东西居然没人顶。

    试了一下, ECS API 都可以用,很好。

    但是什么时候把SLB的API也支持一下。
    2014-08-07 21:44:49
    赞同 展开评论 打赏
  • Re分享一个阿里云API的开源Java封装库
    话说官方的SDK啥时候才能出来?
    这么基础的东西,怎么还没做出来?手写也差不多了吧?
    2014-08-07 09:15:37
    赞同 展开评论 打赏
  • Re分享一个阿里云API的开源Java封装库
    不客气,如果使用过程中有问题, 可以联系我。
    2014-08-06 16:06:06
    赞同 展开评论 打赏
  • 感谢楼主的分享!
    2014-08-06 15:52:16
    赞同 展开评论 打赏
滑动查看更多
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载