进行阿里云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. Class Methods & Variables

    When calling an instance method like withdraw_securely, the syntax generally looks something like th ...

  2. RPM常用组合【转载】

    RPM常用组合 -ivh:安装显示安装进度--install--verbose--hash -Uvh:升级软件包--Update: -qpl:列出RPM软件包内的文件信息[Query Package ...

  3. BeautifulSoup获取指定class样式的div

    如何获取指定的标签的内容是解析网页爬取数据的必要手段,比如想获取<div class='xxx'> ...<div>这样的div标签,通常有三种办法, 1)用字符串查找方法,然 ...

  4. php友好格式化时间

    php格式化时间显示 function toTime($time) {//$time必须为时间戳 $rtime = date("Y-m-d H:i",$time); $htime ...

  5. 【Web】关于URL中文乱码问题

    关于URL编码                                        一.问题的由来 URL就是网址,只要上网,就一定会用到.                          ...

  6. oracle10G/11G官方下载地址集合 直接迅雷下载

    Oracle Database 11g Release 2 (11.2.0.1.0) for Microsoft Windows (64-bit)   http://download.oracle.c ...

  7. FastReport for delphi xe 安装步骤

    FastReport for delphi xe 安装步骤 1.先关闭DELPHI:2.下载后解压到一个目录,比如:D:FR:3.打开D:FR,运行recompile.exe ->点击" ...

  8. Java for LeetCode 200 Number of Islands

    Given a 2d grid map of '1's (land) and '0's (water), count the number of islands. An island is surro ...

  9. 【leetcode】clone-graph

    写在前面的话: 看了看自己的博客,从一月底开始就没怎么更新过,我也确实将近5个月没怎么写代码了.今天突然觉得有些心慌,感觉手都已经生疏了.果然,随便找了道题就卡住了.隐约感觉要用map但又不太记得用法 ...

  10. CodeForces - 405A

    Gravity Flip Time Limit: 1000MS   Memory Limit: 262144KB   64bit IO Format: %I64d & %I64u Submit ...