本文介绍如何使用数据传输服务DTS(Data Transmission Service)的Java开发者工具包(SDK),并提供示例供您参考。

前提条件

  • 已经创建了AccessKey,详情请参见创建AccessKey
    说明 为避免主账号泄露AccessKey带来的安全风险,建议您创建RAM用户,授予RAM用户访问DTS资源的权限,再使用RAM用户的AccessKey来调用SDK。详情请参见 账号访问控制
  • 已下载DTS的SDK安装包,详情请参见SDK下载

安装方法

您可以通过添加Maven依赖或者导入Jar文件来安装Java SDK,详情请参见安装Alibaba Cloud SDK for Java

说明 通过添加Maven依赖下载SDK包时,请选择最新版本的SDK。

请求步骤

  1. 设置地域和AccessKey信息。
    IClientProfile profile = DefaultProfile.getProfile("<RegionId>","<accessKeyId>","<accessSecret>");
    说明
    • <RegionId>:地域ID,详情请参见支持的地域列表
    • <accessKeyId>: RAM账号的AccessKey ID。
    • <accessSecret>:RAM账号AccessKey Secret。
  2. 可选:设置Endpoint信息。

    Endpoint是阿里云服务的API服务端地址。针对不同的地域,单个服务可能有不同的Endpoint。阿里云SDK内置了Endpoint寻址模块,当您调用SDK对一个服务发起请求时,SDK会自动根据您在创建SDK client时指定的地域ID和产品ID来找到Endpoint,所以该步骤为可选。

    DefaultProfile.addEndpoint("<endpointName>","<RegionId>", "dts", "<domain>");
    说明
  3. 初始化客户端。
    DefaultAcsClient client = new DefaultAcsClient(profile);
  4. 创建API请求并设置参数。

    下述代码以购买迁移实例(购买数据迁移任务)为例。

    DescribeAccountsRequest request = new CreateMigrationJobRequest();
          request.setRegion("cn-hangzhou");
          request.setMigrationJobClass("large");
  5. 发起请求并处理应答或异常。
    try {
        CreateMigrationJobResponse response = client.getAcsResponse(request);
        System.out.println(new Gson().toJson(response));
    } catch (ServerException e) {
        e.printStackTrace();
    } catch (ClientException e) {
        System.out.println("ErrCode:" + e.getErrCode());
        System.out.println("ErrMsg:" + e.getErrMsg());
        System.out.println("RequestId:" + e.getRequestId());
    }

完整请求示例

import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.IAcsClient;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.exceptions.ServerException;
import com.aliyuncs.profile.DefaultProfile;
import com.google.gson.Gson;
import java.util.*;
import com.aliyuncs.dts.model.v20180801.*;

public class CreateMigrationJob {

    public static void main(String[] args) {
        DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou", "********", "********");
        IAcsClient client = new DefaultAcsClient(profile);

        CreateMigrationJobRequest request = new CreateMigrationJobRequest();
        request.setRegionId("cn-hangzhou");
        request.setRegion("cn-hangzhou");
        request.setMigrationJobClass("large");

        try {
            CreateMigrationJobResponse response = client.getAcsResponse(request);
            System.out.println(new Gson().toJson(response));
        } catch (ServerException e) {
            e.printStackTrace();
        } catch (ClientException e) {
            System.out.println("ErrCode:" + e.getErrCode());
            System.out.println("ErrMsg:" + e.getErrMsg());
            System.out.println("RequestId:" + e.getRequestId());
        }

    }
}

返回示例

{"MigrationJobId":"dts********","Success":true}

更多信息

  • 在线调试和生成SDK示例。

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

  • 更多SDK相关说明,请参见Java SDK使用说明