欢迎使用阿里云开发者工具套件(Alibaba Cloud SDK for Java)。Alibaba Cloud SDK for Java让您不用复杂编程即可访问云服务器、云数据库RDS、云监控等多个阿里云服务。本教程介绍如何安装并开始使用Alibaba Cloud SDK for Java。

在线调试和生成SDK示例

OpenAPI Explorer提供在线调用云产品API、动态生成 SDK示例代码和快速检索接口等功能,能显著降低使用API 的难度,推荐您使用。

前提条件

  • 使用Alibaba Cloud SDK for Java,您需要一个阿里云账号和访问密钥(AccessKey)。 请在阿里云控制台中的AccessKey管理页面上创建和查看您的AccessKey,或联系您的系统管理员。
  • 使用Alibaba Cloud SDK for Java调用某个产品的API前,确保您已经在阿里云控制台开通了该产品。
  • 安装Java环境。Alibaba Cloud SDK for Java要求使用JDK1.6或更高版本。

安装Alibaba Cloud SDK for Java

您可以通过添加Maven依赖或下载Alibaba Cloud SDK for Java工具包的方式安装Alibaba Cloud SDK for Java,详情参见安装Alibaba Cloud SDK for Java

本教程以调用ECS的Java SDK为例,您只需在pom.xml文件中添加以下依赖即可,准确的SDK版本号,请参见阿里云开发工具包(SDK)
说明 无论您要使用哪个产品的开发工具包,都必须安装Alibaba Cloud SDK for Java核心库。例如,如果要使用ECS的Java SDK,您需要安装Alibaba Cloud SDK for Java核心库和ECS的Java SDK。
<dependency>
    <groupId>com.aliyun</groupId>
    <artifactId>aliyun-java-sdk-core</artifactId>
    <version>4.4.6</version>
</dependency>
<dependency>
    <groupId>com.aliyun</groupId>
    <artifactId>aliyun-java-sdk-ecs</artifactId>
    <version>4.17.6</version>
</dependency>

使用Alibaba Cloud SDK for Java

以下代码示例展示了调用Alibaba Cloud SDK for Java的三个主要步骤:

  1. 创建DefaultAcsClient实例并初始化。
  2. 创建API请求并设置参数。
  3. 发起请求并处理应答或异常。
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 Demo {
    public static void main(String[] args) {
         // 创建DefaultAcsClient实例并初始化
        DefaultProfile profile = DefaultProfile.getProfile(
            "<your-region-id>",          // 地域ID
            "<your-access-key-id>",      // RAM账号的AccessKey ID
            "<your-access-key-secret>"); // RAM账号AccessKey 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();
        }
    }
}