众所周知,阿里云提供了全方位、多层次的云计算产品体系。阿里巴巴技术委员会主席王坚博士说过,要让云计算像水电一样方便获得。为了开发者无缝衔接阿里云的众多服务,将它们集成到自己的应用系统,阿里云开放了API和用来访问API的工具SDK。
什么是阿里云SDK?
阿里云Java SDK让您不用复杂编程即可访问云服务器、CDN(内容分发网络)、OSS(对象存储)等丰富又强大的云计算基础设施。它是面向开发者的编程库,能够直接应用在开发者的应用程序里,被应用逻辑调用。打个简单的比方,应用程序是家用电器,阿里云的服务就是提供电能的发电站和电网,阿里云API就是插孔,SDK就是插头。
家电有不同的型号,插头也是各式各样的;自然,应用程序用各种编程语言开发,运行在应用程序内的SDK自然也有各种编程语言版本。阿里云SDK支持了包括Java, Python, PHP, C#等在内的各种语言,满足各种编程语言的开发者的需要。
小编会在本文向大家介绍一下如何使用Java SDK访问阿里云的API,进行实际的操作,您很快就会发现,原来使用SDK访问阿里云API如此简单易行。如果您使用了其他语言,欢迎访问阿里云SDK主页,阿里云所有产品的SDK都在这里哦!
例子:获取云服务器的IP地址
第一步:环境准备
- 阿里云Java SDK适用于
JDK 6
及以上版本。 - 要使用阿里云Java SDK,您需要一个云账号以及一对
Access Key ID
和Access Key Secret
。 请在阿里云控制台中的AccessKey管理页面上创建和查看您的Access Key。
阿里云控制台右上角中获取Access Key的位置
第二步:获取阿里云SDK
获取阿里云Java SDK的方式有很多,小编这里就介绍大家都常用的开发环境IntelliJ
上如何获取阿里云的SDK。其他方式呢,阿里云的官网上有详细介绍,传送门在这里,这里篇幅原因就不多讲了。
现在开始!
在阿里云Java SDK列表中下载您需要的SDK,例如SDK核心库
和云服务器
的Java SDK。
您将下载到2个文件,aliyun-java-sdk-core-3.2.6.jar
和aliyun-java-sdk-ecs-3.3.0.jar
。
第三步:调用SDK
为了给大家展示,小编先创建一个空白的Java项目
然后在IntelliJ中,依次选择菜单:File, Project Structure, Modules, 然后选择 Dependencies 选项卡。在出现的列表中选择“添加”(对话框右方的绿色“+”号),再选择 “JARs or directories”。
最后,弹出的对话框中选中您刚才下载到的两个Jar包,点击[OK],您将会在项目中看到这两个Jar包已经被添加进来了:
将下面这段代码Copy到Main.java里
package com.testprogram
import com.aliyuncs.profile.DefaultProfile;
import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.IAcsClient;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.exceptions.ServerException;
import com.aliyuncs.ecs.model.v20140526.*;
public class Main {
public static void main(String[] args) {
// 创建DefaultAcsClient实例并初始化
DefaultProfile profile = DefaultProfile.getProfile(
"<your-region-id>", // 您的可用区ID
"<your-access-key-id>", // 您的Access Key ID
"<your-access-key-secret>"); // 您的Access Key Secret
IAcsClient client = new DefaultAcsClient(profile);
// 创建API请求并设置参数
DescribeInstancesRequest request = new DescribeInstancesRequest();
request.setPageSize(10);
// 发起请求并处理异常
DescribeInstancesResponse response;
try {
response = client.getAcsResponse(request);
for (DescribeInstancesResponse.Instance instance:response.getInstances()) {
System.out.println(instance.getPublicIpAddress());
}
} catch (ServerException e) {
e.printStackTrace();
} catch (ClientException e) {
e.printStackTrace();
}
}
}
然后替换这个样例代码中的3个参数,<your-region-id>
、<your-access-key-id>
和<your-access-key-secret>
。其中Region ID是你的地域,如果不知道怎么填,就先填cn-hangzhou
就好啦。另外2个参数就是您刚刚从阿里云控制台获得的访问密钥(Access Key)。
最后就可以开始运行我们令人激动的样例程序了!
在控制台输出中您就可以看到您的云服务器IP地址:
成功了!
在这个例子中,小编事先在华东1(杭州,ID: cn-hangzhou)
这个区域购买了2个云服务器,所以能看到2个IP地址哦。赶紧在阿里云控制台购买你的云服务器吧!
到底发生了什么?
是不是很神奇?有没有很惊喜?哈哈,让小编给大家解释一下上面这个样例都干了些什么。
接下来
试了一下上面获取云服务器IP地址的例子,您肯定感觉不够过瘾,没关系,云服务器(又称ECS)服务提供了非常全面的API,只要您能想到的API,涵盖对服务器、磁盘、快照、镜像、网络等等。这里都有:ECS API
除了ECS之外,其他阿里云众多产品也都开放了API哦。https://develop.aliyun.com/tools/openapilist
通过阿里云SDK,您可以灵活地控制阿里云给您提供的基础设施、资源和服务,帮助您的业务快速搭建和上线。小编就不多说了,祝您有一个愉快的开发体验!有任何问题和建议,欢迎到阿里云的聆听平台写下您的宝贵意见哦。