API经济最主要是学会调用API

简介: 众所周知,阿里云提供了全方位、多层次的云计算产品体系。阿里巴巴技术委员会主席王坚博士说过,要让云计算像水电一样方便获得。为了开发者无缝衔接阿里云的众多服务,将它们集成到自己的应用系统,阿里云开放了API和用来访问API的工具SDK。

众所周知,阿里云提供了全方位、多层次的云计算产品体系。阿里巴巴技术委员会主席王坚博士说过,要让云计算像水电一样方便获得。为了开发者无缝衔接阿里云的众多服务,将它们集成到自己的应用系统,阿里云开放了API和用来访问API的工具SDK。

什么是阿里云SDK?

阿里云Java SDK让您不用复杂编程即可访问云服务器、CDN(内容分发网络)、OSS(对象存储)等丰富又强大的云计算基础设施。它是面向开发者的编程库,能够直接应用在开发者的应用程序里,被应用逻辑调用。打个简单的比方,应用程序是家用电器,阿里云的服务就是提供电能的发电站和电网,阿里云API就是插孔,SDK就是插头。

4ffaef1957f5b496.png

家电有不同的型号,插头也是各式各样的;自然,应用程序用各种编程语言开发,运行在应用程序内的SDK自然也有各种编程语言版本。阿里云SDK支持了包括Java, Python, PHP, C#等在内的各种语言,满足各种编程语言的开发者的需要。

6cb362df7d0037f7.png

小编会在本文向大家介绍一下如何使用Java SDK访问阿里云的API,进行实际的操作,您很快就会发现,原来使用SDK访问阿里云API如此简单易行。如果您使用了其他语言,欢迎访问阿里云SDK主页,阿里云所有产品的SDK都在这里哦!

例子:获取云服务器的IP地址

第一步:环境准备

  1. 阿里云Java SDK适用于JDK 6及以上版本。
  2. 要使用阿里云Java SDK,您需要一个云账号以及一对Access Key IDAccess Key Secret。 请在阿里云控制台中的AccessKey管理页面上创建和查看您的Access Key。

阿里云控制台右上角中获取Access Key的位置
95992760e9101fa0.png

第二步:获取阿里云SDK

获取阿里云Java SDK的方式有很多,小编这里就介绍大家都常用的开发环境IntelliJ上如何获取阿里云的SDK。其他方式呢,阿里云的官网上有详细介绍,传送门在这里,这里篇幅原因就不多讲了。

现在开始!

在阿里云Java SDK列表中下载您需要的SDK,例如SDK核心库云服务器的Java SDK。

b6b1f2bee89dfe3a.png

您将下载到2个文件,aliyun-java-sdk-core-3.2.6.jaraliyun-java-sdk-ecs-3.3.0.jar

第三步:调用SDK

为了给大家展示,小编先创建一个空白的Java项目

0e384ad83961b976.png

然后在IntelliJ中,依次选择菜单:File, Project Structure, Modules, 然后选择 Dependencies 选项卡。在出现的列表中选择“添加”(对话框右方的绿色“+”号),再选择 “JARs or directories”。

b654a96df19655e2.png

最后,弹出的对话框中选中您刚才下载到的两个Jar包,点击[OK],您将会在项目中看到这两个Jar包已经被添加进来了:

5c7702c94767fff2.png

将下面这段代码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)。

最后就可以开始运行我们令人激动的样例程序了!

1636d9acc4cf0fd0.png

在控制台输出中您就可以看到您的云服务器IP地址:

996fb27479eb5806.png

成功了!

在这个例子中,小编事先在华东1(杭州,ID: cn-hangzhou)这个区域购买了2个云服务器,所以能看到2个IP地址哦。赶紧在阿里云控制台购买你的云服务器吧!

到底发生了什么?

是不是很神奇?有没有很惊喜?哈哈,让小编给大家解释一下上面这个样例都干了些什么。

6991de877a7ebdf2.png

接下来

试了一下上面获取云服务器IP地址的例子,您肯定感觉不够过瘾,没关系,云服务器(又称ECS)服务提供了非常全面的API,只要您能想到的API,涵盖对服务器、磁盘、快照、镜像、网络等等。这里都有:ECS API

除了ECS之外,其他阿里云众多产品也都开放了API哦。https://develop.aliyun.com/tools/openapilist

通过阿里云SDK,您可以灵活地控制阿里云给您提供的基础设施、资源和服务,帮助您的业务快速搭建和上线。小编就不多说了,祝您有一个愉快的开发体验!有任何问题和建议,欢迎到阿里云的聆听平台写下您的宝贵意见哦。

相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情:&nbsp;https://www.aliyun.com/product/ecs
目录
相关文章
|
JSON 移动开发 Java
氚云丨开发课— 09平台 API 的调用及自定义 API 的编写与调用| 学习笔记
快速学习氚云丨开发课— 09平台 API 的调用及自定义 API 的编写与调用。
|
API 开发工具 数据安全/隐私保护
如何调用 API | 学习笔记
简介:快速学习如何调用 API
1048 0
如何调用 API | 学习笔记
|
XML JSON 定位技术
干货 | Python调用百度地图API获取各点的经纬度信息(两种方式)
干货 | Python调用百度地图API获取各点的经纬度信息(两种方式)
2182 0
干货 | Python调用百度地图API获取各点的经纬度信息(两种方式)
|
Java 定位技术 API
java调用百度地图API根据地理位置获取经纬度
由于我们是使用百度提供的地理API接口,所以事先我们需要创建百度账号,并创建百度应用(因为我们要用应用到的ak)~~~~ 偷偷的告诉你们…这是免费的哦不要钱的…
362 0
java调用百度地图API根据地理位置获取经纬度
|
安全 Linux API
GrayLog使用HTTP JSONPath方式调用微步在线云API识别威胁IP
GrayLog使用HTTP JSONPath方式调用微步在线云API识别威胁IP
393 0
GrayLog使用HTTP JSONPath方式调用微步在线云API识别威胁IP
|
数据采集 搜索推荐 API
我做的python 中文api调用模块
可以自动调用api接口
450 1
|
定位技术 API Python
|
Java API Maven
java调用ZooKeeper API应用
java调用ZooKeeper API应用
java调用ZooKeeper API应用
|
前端开发 Java 程序员
如何在SpringBoot中优雅地重试调用第三方API?
如何在SpringBoot中优雅地重试调用第三方API?
325 0
|
Java API
Java调用飞信API
Java调用飞信API
77 0