本文介绍如何通过SMC Java SDK调用ModifyReplicationJobAttribute修改迁移任务信息。

背景信息

您可以调用ModifyReplicationJobAttribute接口修改迁移任务信息,包括修改迁移任务交付的目标镜像名称、目标实例ID、增量迁移任务默认保留的最大镜像数等信息,详情请参见ModifyReplicationJobAttribute

说明
  • 参数NameDescription在迁移任务的整个生命周期内均可以修改。
  • 参数FrequencyMaxNumberOfImageToKeep只能在迁移任务执行前或任务状态为等待中时修改。
  • 其他参数只能在迁移任务执行前修改。

代码示例

以下代码适用于修改迁移任务名称、描述及目标ECS实例系统盘大小的信息:

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.ModifyReplicationJobAttributeRequest;
import com.aliyuncs.smc.model.v20190601.ModifyReplicationJobAttributeResponse;
import com.google.gson.Gson;

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

        //创建API请求,并设置参数
        ModifyReplicationJobAttributeRequest request = new ModifyReplicationJobAttributeRequest();
        //迁移任务ID
        request.setJobId("j-bp152mkfswviwbqj****");
        //迁移任务名称
        request.setName("MyMigrationTask");
        //迁移任务描述
        request.setDescription("This_is_my_migration_task");
        //目标阿里云服务器ECS的系统盘大小
        request.setSystemDiskSize(50);
        //迁移任务的执行时间
        //request.setScheduledStartTime("2019-06-04T13:35:00Z");
        //目标实例ID
        //request.setInstanceId("i-bp12uyz75shn6jsp****");
        //迁移任务交付的目标阿里云镜像名称
        //request.setImageName("smc-image");
        //增量迁移任务运行的时间间隔
        //request.setFrequency(12);
        //目标阿里云服务器ECS的数据盘顺序和大小
        //List<ModifyReplicationJobAttributeRequest.DataDisk> datadisks = new ArrayList<>();
        //ModifyReplicationJobAttributeRequest.DataDisk datadisk = new ModifyReplicationJobAttributeRequest.DataDisk();
        //目标阿里云服务器ECS的数据盘顺序
        //datadisk.setIndex(1);
        //目标阿里云服务器ECS的数据盘大小
        //datadisk.setSize(100);
        //datadisks.add(datadisk);
        //request.setDataDisks(datadisks);
        //增量迁移任务默认保留的最大镜像数
        //request.setMaxNumberOfImageToKeep(10);
        //迁移任务交付的目标类型
        //request.setTargetType("Image");
        //中转实例的实例规格
        //request.setInstanceType("ecs.c5.large");

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

执行结果

实际返回结果为:

{
    "RequestId":"1C488B66-B819-4D14-8711-C4EAAA13AC01"
}