本文以CreateReplicationJob为例,为您演示如何通过阿里云CLI、OpenAPI开发者门户和阿里云SDK等开发者工具调用SMC API。

前提条件

使用阿里云CLI调用API之前,请确保您已安装并配置了阿里云CLI。在不同操作系统中安装CLI的方式请参见:

使用阿里云CLI调用API示例

本示例通过阿里云CLI调用API,完成创建迁移任务的操作。调用API前,了解API使用说明并查询必需的请求参数,请参见API 概览调用API报错时,您可以在相应API文档中获取排查建议。

  1. 运行以下命令调用DescribeSourceServers 获取迁移源ID。
    aliyun smc DescribeSourceServers 
  2. 运行以下命令调用CreateReplicationJob创建迁移任务。
    aliyun smc CreateReplicationJob --RegionId <TheRegionId> --SourceId s-bp1ebo013cd21t4r****
    返回以下信息时,表示已成功发起创建迁移任务请求。
    {"RequestId":"16B856F6-EFFB-4397-8A8A-CB73FA******","JobId":"j-2ze33rsym34h1hf5****"}
  3. 运行以下命令调用DescribeReplicationJobs查询迁移任务的创建状态。
    aliyun smc DescribeReplicationJobs --JobId j-2ze33rsym34h1hf5****

使用OpenAPI开发者门户调用API示例

本示例通过OpenAPI开发者门户调用API,完成创建迁移任务的操作。在调用API前,请先了解API使用说明并查询必需的请求参数,详情请参见API 概览。调用API报错时,您可以在相应API文档中获取排查建议。

  1. 调用DescribeSourceServers获取迁移源ID。
  2. 调用CreateReplicationJob为迁移源ID创建迁移任务。
  3. 调用DescribeReplicationJobs查询迁移任务的创建状态。

使用Java SDK调用API示例

本示例通过Java SDK调用API,完成创建迁移任务的操作,您可以在开发者门户SDK中心获取SMC SDK。调用API前,了解API使用说明并查询必需的请求参数,请参见API 概览。调用API报错时,您可以在相应API文档中获取排查建议。

说明 以下SDK示例中的<AccessKey>(您的AccessKeyId)、<AccessSecret>(您的AccessKeySecret)、<RegionId>(迁移至阿里云的目标地域ID)和<SystemDiskSize>(目标阿里云服务器的系统盘大小)需要根据实际情况自行填写。更多详情,请参见创建AccessKey地域和可用区迁移任务请求参数配置说明
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.smc.model.v20190601.*;

public class smcDemo {

    public static void main(String[] args) {
        DefaultProfile profile = DefaultProfile.getProfile("<RegionId>", "<AccessKey>", "<AccessSecret>");
        IAcsClient client = new DefaultAcsClient(profile);

        CreateReplicationJobRequest request = new CreateReplicationJobRequest();
        request.setSystemDiskSize(150);
        request.setSourceId("s-bp1ebo013cd21t4r****");

        try {
            CreateReplicationJobResponse 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());
        }
    }
}