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

背景信息

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

代码示例

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

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-bp155ird0g8s6ztw****");
        request.setSourceIds(sourceIds);         
        //返回的迁移源列表的页码
        request.setPageNumber(1);
        //分页查询时设置的每页行数
        request.setPageSize(10);
        //迁移源状态
        request.setState("Available");
        //迁移源名称
        //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();
        }
    }
}            

执行结果

{
  "SourceServers": {
    "SourceServer": [
      {
        "RegionNo": "cn-beijing",
        "Description": "Server Source Imported By GotoAliyun. Hostname: iZ2v8nf3ze1**** IP Address: 172.17.XX.XX",
        "SystemInfo": "{\"agent_mode\":\"daemon\",\"agent_type\":\"aliyun\",\"client_type\":\"\",\"cores\":\"4\",\"cpu_usage\":\"2.26\",\"hostname\":\"iZ2v8nf3ze17xqZ\",\"instance_id\":\"i-2zeab8zb2v8nf3ze17xq\",\"ipv4\":\"172.17.10.242\",\"memory\":\"16.00\",\"memory_usage\":\"1.07\",\"os_type\":\"CentOS7\",\"region_id\":\"cn-beijing\"}",
        "Platform": "CentOS",
        "Architecture": "x86_64",
        "AgentVersion": "2.6.2",
        "SystemDiskSize": 40,
        "InstanceId": "i-2zeab8zb2v8nf3ze****",
        "SourceId": "s-bp155ird0g8s6ztw****",
        "SystemDiskParts": {
          "SystemDiskPart": [
            {
              "Path": "/",
              "Need": true,
              "Device": "0_0",
              "CanBlock": true,
              "SizeBytes": 42948607488
            }
          ]
        },
        "Name": "iZ2v8nf3ze17xqZ_172_17_XX_XX",
        "KernelLevel": 1,
        "ReplicationDriver": "SMT_ECS",
        "State": "Available",
        "CreationTime": "2022-09-14T02:54:22Z",
        "HeartbeatRate": 30,
        "ErrorCode": ""
      }
    ]
  },
  "TotalCount": 1,
  "PageSize": 10,
  "RequestId": "5E37E71B-2555-5EE0-8BBF-1937AC38****",
  "PageNumber": 1
}