进行阿里云sdk开发的前提是已经购买阿里云的相关服务才能调用阿里的相关接口进行开发。最近公司在做云管控的项目,于是进行下摘录总结。

一. 环境准备

阿里云针对不同的开发语言提供不同的sdk,由于项目用的是java语言进行开发,所以下载的是java sdk,介绍的也是java sdk的开发方式。

1.首先下载服务的SDK,阿里云Java SDK支持J2SE Development Kit (JDK) 1.5或以上版本。

2.安装步骤

  1. 在解压的文件中可以找到 aliyun-sdk-java-online_standard-20141010.jar 这个包;
  2. 以Eclipse为例导入jar包的过程如下:在Eclipse上右键点击工程 -> Properties -> Java Build Path -> Libraries -> Add External JARs(netbeans和intellij等其他idea用户请自行按照相应导入jar包得方法导入这个包);
  3. 选择以上jar包,点击“OK”按钮,经过以上步骤,你就可以在工程中使用阿里云Java SDK了。

二.快速入门

1.初始化一个AliyunClient

  1. 与阿里云SDK相关的类都在包com.aliyun.api.AliyunClient下;
  2. AliyunClient是与API交互的接口,SDK的操作都是通过AliyunClient完成的;
  3. AliyunClient可以复用,建议设置成应用程序全局唯一的;
  4. 用户可以调用带有connectTimeout和readTimeout的构造方法来设置SDK调用接口的连接超时时间和读取超时时间,SDK默认的连接超时时间是3秒,读取超时时间是80秒。

示例代码如下:

import com.aliyun.api.AliyunClient;
import com.aliyun.api.DefaultAliyunClient; public class CreateAliyunClientDemo { private static AliyunClient client;
static {
String serverUrl = "<serverUrl>"; //例如: http://ecs.aliyuncs.com/
String accessKeyId = "<accessKeyId>";
String accessKeySecret = "<accessKeySecret>"; // 初始化一个AliyunClient
client = new DefaultAliyunClient(serverUrl, accessKeyId, accessKeySecret);
} public static void main(String[] args) { } }

2.SDK调用示例

调用步骤:

  1. 实例化一个请求类,根据调用API的不同版本实例化不同Java包下的请求类;
  2. 给请求实例赋值;
  3. 调用接口返回调用结果。

包名称介绍

下面以ECS API 2014-05-26版为例

请求类

响应类

示例代码

创建实例:

public void createInstance() {
CreateInstanceRequest createInstanceRequest = new CreateInstanceRequest();
createInstanceRequest.setRegionId("<RegionId>");
createInstanceRequest.setImageId("<ImageId>");
createInstanceRequest.setInstanceType("<InstanceType>");
createInstanceRequest.setSecurityGroupId("<SecurityGroupId>"); try {
CreateInstanceResponse createInstanceResponse = client.execute(createInstanceRequest);
if (StringUtils.isEmpty(createInstanceResponse.getErrCode())) { //创建成功
String instanceId = createInstanceResponse.getInstanceId(); //获取实例ID
} else {
String errCode = createInstanceResponse.getErrorCode(); //获取错误码
String message = createInstanceResponse.getMessage(); //获取错误信息
}
} catch (ApiException e) {
// TODO: handle exception
}
}

查询实例信息:

public void describeInstanceAttribute(String instanceId) {
DescribeInstanceAttributeRequest describeInstanceAttributeRequest = new DescribeInstanceAttributeRequest();
describeInstanceAttributeRequest.setInstanceId(instanceId);
try {
DescribeInstanceAttributeResponse describeInstanceAttributeResponse = client.execute(describeInstanceAttributeRequest);
if (StringUtils.isEmpty(describeInstanceAttributeResponse.getErrorCode())) { //查询成功
//查看实例信息的代码
//......
} else {
String errCode = describeInstanceAttributeResponse.getErrorCode(); //获取错误码
String message = describeInstanceAttributeResponse.getMessage(); //获取错误信息
}
} catch (ApiException e) {
// TODO: handle exception
}
}

删除实例:

public void deleteInstance(String instanceId) {
DeleteInstanceRequest deleteInstanceRequest =new DeleteInstanceRequest();
deleteInstanceRequest.setInstanceId(instanceId);
try {
DeleteInstanceResponse deleteInstanceResponse=client.execute(deleteInstanceRequest);
if (StringUtils.isEmpty(deleteInstanceResponse.getErrorCode())) { //删除成功 } else { //删除失败
String errorCode = deleteInstanceResponse.getErrorCode(); //获取错误码
String message = deleteInstanceResponse.getMessage(); //获取错误信息
}
} catch (ApiException e) {
// TODO: handle exception
}
}
  • 所有的request返回的值都封装在相应的response对象里,假定我们的response对象名就叫response,则可以通过response.get<成员变量名>()获取。
  • 每一个request返回的response里含有的成员变量可以从Open API文档中查看到。

阿里云SDK手册之java SDK的更多相关文章

  1. 阿里云MNS官方PHP版SDK缺少message tag问题处理

    最近在使用阿里云MNS官方PHP版SDK的过程中,发现发送到topic的消息,不能设置tag(其它语言版本SDK支持tag,如java,python),但在阿里云控制台页面发送是可以设置tag的. 因 ...

  2. 阿里云服务器ubuntu安装java运行环境

    服务器 阿里云服务器ubuntu安装java运行环境 转:http://www.codingyun.com/article/45.html 今天来给大家介绍一下在阿里云ubuntu服务器下安装java ...

  3. iOS使用阿里云OSS对象存储 (SDK 2.1.1)

    最近项目中用到了阿里云OSS对象存储,用来存储APP中图片.音频等一些数据.但坑爹的阿里云居然在11月20日将SDK版本更新到了2.1.1,然而网上给出的教程都是1.*版本的(针对iOS),两个版本所 ...

  4. 记一次阿里云Linux服务器安装.net core sdk的问题以及解决方法

    因为公司领导要求新的项目能跨平台部署,也就是说能部署到Linux服务器上,故新的项目采用了Asp.net mvc core 1.1 进行开发.开发过程一切都比较顺利,然后在之前申请试用的一台微软Azu ...

  5. 如何在阿里云linux上部署java项目

      前2天把git练了下,敲了很多命令,也借助图形界面增强自己的理解,乘着余热把linux在熟悉下.然后想起以前婷主有让我帮忙搭建的阿里云服务器,所以就想自己试着在阿里云的linux上搭建自己的jav ...

  6. 关于阿里云Centos服务器搭建Java网站不能访问的问题

    首先阿里云提供的手册是没问题的 手工搭建 然后我在地址栏输入服务器地址之后总是提示无法访问! 输入命令 netstat -tunlp,80端口确实是在监听(这里不是8080,因为我在tomcat的配置 ...

  7. 阿里云短信服务Java版

    短信服务管理平台 https://dysms.console.aliyun.com/dysms.htm java短信发送API    https://help.aliyun.com/document_ ...

  8. 阿里云CentOS7.3配置Java Web应用和Tomcat步骤

    阿里云的Linux系统包括CentOS7.3配置了密钥对 怎样将自己ECS实例绑定密钥对,并启用秘钥: https://help.aliyun.com/document_detail/51798.ht ...

  9. 阿里云直播鉴权java代码示例

    段时间公司需要做直播服务,所以就研究了一下阿里云的直播,在直播里面,最重要的就是url的鉴权操作(验证推流或者拉流的有效性),在网上找了很多代码,都没有发现java的demo,所以就写篇播客记录一下, ...

随机推荐

  1. HDOJ 1848 Fibonacci again and again

    Fibonacci again and again Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Jav ...

  2. [2012-4-10]ThinkPHP框架被爆任意代码执行漏洞(preg_replace)

    昨日(2012.04.09)ThinkPHP框架被爆出了一个php代码任意执行漏洞,黑客只需提交一段特殊的URL就可以在网站上执行恶意代码. ThinkPHP作为国内使用比较广泛的老牌PHP MVC框 ...

  3. 淘宝(阿里百川)手机客户端开发日记第二篇 android首页之顶部轮播特效制作 (二)

    1.我们来设计flash_slide.xml 布局,这个xml主要做成模块化,方便其它的activity可以动态去调用. flash_slide.xml内容如下: <?xml version=& ...

  4. HDU 4915 Parenthese sequence

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4915 解题报告:从前往后遍历一次,每次判断')'的数目是不是满足 n < (i +1)/ 2,从 ...

  5. SGU 180 Inversions(离散化 + 线段树求逆序对)

    题目链接:http://acm.sgu.ru/problem.php?contest=0&problem=180 解题报告:一个裸的求逆序对的题,离散化+线段树,也可以用离散化+树状数组.因为 ...

  6. [Effective JavaScript 笔记] 第14条:当心命名函数表达式笨拙的作用域

    js函数会根据上下文改变其含义. function double(x){return x*2;} 这是一个函数声明,也可以是一个命名函数表达式(named function expression),取 ...

  7. NSUrlConnection 和 NSUrlRequest 的关系

    开始看到这2个名字,总感觉NSUrlConnection才是主要的网络请求类,其实不是,先看官方文档 An NSURLConnection object lets you load the conte ...

  8. Android 中获得notification的发出时间

    最近做程序时,有一个类似闹钟的功能,用notification唤醒程序后,希望能得到发出这个notification时的具体时间,就是notification右边写着的那个时间.查了notificat ...

  9. MySQL 全文搜索支持, mysql 5.6.4支持Innodb的全文检索和类memcache的nosql支持

    背景:搞个个人博客的全文搜索得用like啥的,现在mysql版本号已经大于5.6.4了也就支持了innodb的全文搜索了,刚查了下目前版本号都到MySQL Community Server 5.6.1 ...

  10. Fastreport使用经验(转)在Delphi程序中访问报表对象

    Fastreport使用经验(转) 在Delphi程序中访问报表对象 最基本的方法就是frxReport1.FindObject. 然后把返回的对象强制转换成它的类型,当然,在报表中必须真的有这么个东 ...