本文介绍如何通过SMC Java SDK调用DescribeSourceServers查询一个或多个迁移源信息。

背景信息

您可以调用DescribeSourceServers接口批量查询迁移源信息,包括迁移任务ID、内核版本级别、迁移源系统盘大小等详细信息,详情请参见DescribeSourceServers

代码示例

以下代码适用于查询迁移状态为InUse(迁移中)的迁移源信息:

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.aliyuncs.smc.model.v20190601.DescribeSourceServersRequest;
import com.aliyuncs.smc.model.v20190601.DescribeSourceServersResponse;
import com.google.gson.Gson;
import java.util.ArrayList;
import java.util.List;

public class DescribeSourceServers {
    public static void main(String[] args) {
        //初始化AcsClient实例,设置地域ID及您的AccessKey信息
        DefaultProfile profile = DefaultProfile.getProfile("<region-Id>", "<accessKeyId>", "<accessSecret>");
        IAcsClient client = new DefaultAcsClient(profile);

        //创建API请求,并设置参数
        DescribeSourceServersRequest request = new DescribeSourceServersRequest();
        //迁移源ID
        List<String> sourceIds = new ArrayList<>();
        sourceIds.add("s-bp152mkfswviw7sd****");
        //sourceIds.add("s-bp152mkfswviw7sd****");
        request.setSourceIds(sourceIds);         
        //返回的迁移源列表的页码
        request.setPageNumber(1);
        //分页查询时设置的每页行数
        request.setPageSize(10);
        //迁移源状态
        request.setState("InUse");
        //迁移源名称
        //request.setName("smcName");
        //迁移任务ID
        //request.setJobId("j-bp152mkfswviwbqj****");

        //发送请求获取返回值或处理异常
        try {
            DescribeSourceServersResponse response = client.getAcsResponse(request);
            System.out.println(new Gson().toJson(response));
        } catch (ServerException e) {
            e.printStackTrace();
        } catch (ClientException e) {
            e.printStackTrace();
        }
    }
}            

执行结果

{
    "requestId": "766829A6-BC4D-47D2-A0C6-08870FEA785B",
    "totalCount": 1,
    "pageNumber": 1,
    "pageSize": 10,
    "sourceServers": [{
        "sourceId": "s-bp152mkfswviw7sd****",
        "jobId": "j-bp152mkfswviwbqj****",
        "agentVersion": "2.0.5",
        "name": "smcName",
        "description": "Server Source Imported By GotoAliyun. Hostname: smcName IP Address: 192.***.***.29",
        "kernelLevel": 0,
        "platform": "CentOS",
        "architecture": "x86_64",
        "systemDiskSize": 40,
        "replicationDriver": "SMT",
        "systemInfo": "{\"agent_mode\":\"daemon\",\"agent_type\":\"aliyun\",\"client_type\":\"\",\"cores\":\"2\",\"cpu_info\":\"\",\"cpu_usage\":\"1.99\",\"hostname\":\"smcName\",\"ipv4\":\"192.***.***.29\",\"memory\":\"1.00\",\"memory_usage\":\"0.38\"}",
        "creationTime": "2020-01-08T06:38:20Z",
        "state": "InUse",
        "errorCode": "SourceServer.Offline",
        "heartbeatRate": 30,
        "dataDisks": []
    }]
}