进行阿里云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. 微信和WeChat的合并月活跃账户达6.97亿

    腾讯最新财报显示,微信和WeChat的合并月活跃账户于2015年底达6.97亿,同比增长39%.2016年初春节假期期间,通过微信支付收发的红包数量仅在6天内就超过320亿,同比增长9倍. 腾讯网络广 ...

  2. cocos基础教程(9)声音和音效

    使用音效引擎 我们可以使用Cocos2d-x自带的CocosDension库来使用声音引擎.CocosDesion实现了简单易用的SimpleAudioEngine类,为了使用它,我们只需引入他的头文 ...

  3. js实现文本框限制输入数字和小数点--兼容多个浏览器

    <html> <head> <meta http-equiv="content-Type" content="text/html;chars ...

  4. 正则匹配之url的匹配

    通过这几天的学习,已经对正则有所了解了. 下面动手写一个匹配url的正则吧. <?php $str="http://www.baidu.com"; $reg="/( ...

  5. 【转】idea 用maven骨架生成项目速度慢的问题

    转自:http://9leg.com/maven/2015/02/01/why-is-mvn-archetype-generate-so-low.html 最近从IntelliJ Idea 14的Co ...

  6. 一些LUA函数(转载)

    转自http://hi.baidu.com/chevallet/item/9a3a6410c20d929198ce3363 一些LUA函数 1.assert (v [, message]) 功能:相当 ...

  7. (转)SQL server 容易让人误解的问题之 聚集表的物理顺序问题

    对于MS SQL server 数据库,有几个容易让人产生误解的问题,对于这几个问题,即使很多 SQL server DBA 都有错误认识或者认识不充分,所以我想撰文几篇,把这些容易理解错误的问题前前 ...

  8. wget 增加单个文件下载限制大小

    增加了参数 -M --limit-size 使用方法 -M 5m 或者 -M 500k 或者 --limit-size=5m 或者 --limit-size=500k 下载地址 http://pan. ...

  9. google maps js v3 api教程(3) -- 创建infowindow

    原文地址 前面我们学习了地图和标记的创建.那么今天我们来学习怎样在地图上显示一个窗口(infowindow) infowindow构造函数为:InfoWindow(opts?:InfoWindowOp ...

  10. August 4th, 2016, Week 32nd, Thursday

    How does the world look through your eyes? 你眼中的世界是什么样的呢? This morning I saw a girl that is just the ...