全部产品
云市场
云游戏

配置迁移任务

更新时间:2020-07-28 23:47:37

调用ConfigureMigrationJob接口配置DTS的数据迁移任务。

  • 本接口调用成功后,将自动启动数据迁移任务,无需调用StartMigrationJob接口来启动。
  • 如果数据迁移任务没有被成功启动,可能是预检查失败,您可以调用DescribeMigrationJobStatus接口查询预检查失败的错误提示并修复问题。问题修复后,您可以调用StartMigrationJob接口来启动数据迁移任务。

请求参数

参数名称 数据类型 是否必须 参数描述
Action String 系统参数,为这个接口的接口定义,取值为:ConfigureMigrationJob。
MigrationJobId String 迁移任务 ID。
MigrationJobName String 迁移任务名称。
SourceEndpoint.InstanceType String 迁移源实例的实例类型,取值包括:
RDS:阿里云RDS实例
ECS:ECS上的自建数据库
LocalInstance:有公网IP的自建数据库
Express:通过专线接入的自建数据库
MongoDB:阿里云MongoDB实例
PolarDB:阿里云PolarDB MySQL集群
PolarDB_o:阿里云PolarDB-O集群
SourceEndpoint.Region String 源实例所在的区域,如果是自建数据库,可以选择离自建 IDC 物理距离最近的区域,取值请参见支持的地域列表
SourceEndpoint.InstanceID String 源实例ID。
当SourceEndpoint.InstanceType取值为RDS时,本参数需传入RDS实例ID
当SourceEndpoint.InstanceType取值为ECS时,本参数需传入ECS实例ID
当SourceEndpoint.InstanceType取值为Express时,本参数需传VPC ID(即专有网络ID)
当SourceEndpoint.InstanceType取值为MongoDB时,本参数需传入 MongoDB实例ID
当SourceEndpoint.InstanceType取值为PolarDB时,本参数需传入PolarDB MySQL集群ID
当SourceEndpoint.InstanceType取值为PolarDB-o时,本参数需传入PolarDB-O集群ID
SourceEndpoint.EngineName String 源实例的数据库类型,当SourceEndpoint.InstanceType为非RDS时,为必填项。取值包括:
MySQL、TiDB、SQLServer、PostgreSQL、Oracle、MongoDB、Redis。
SourceEndpoint.IP String 源实例的连接地址,当源实例为自建数据库时必填。
SourceEndpoint.Port String 源实例的监听端口,当源实例为自建数据库时必填。
SourceEndpoint.OracleSID String 当源实例数据库类型为Oracle时,这个参数为Oracle SID。
SourceEndpoint.DatabaseName String 当源实例数据库类型为PostgreSQL或MongoDB时,这个参数为创建连接时使用的数据库库名。
SourceEndpoint.UserName String 源实例的访问账号。
SourceEndpoint.Password String 源实例的访问密码。
SourceEndpoint.OwnerID String 当源实例为RDS实例,且源实例跟目标实例所属阿里云账号不同时,这个参数为源 RDS 实例的所属阿里云账号的 UID。
SourceEndpoint.Role String 当源实例为RDS实例,且源实例跟目标实例所属阿里云账号不同时,这个参数为源实例所属阿里云账号对目标实例阿里云账号的授权角色。这个角色所需的权限及授权方式详见 跨账号迁移同步
DestinationEndpoint.InstanceType String 目标实例的实例类型,取值包括:
RDS:阿里云RDS实例
ECS:ECS上的自建数据库
LocalInstance:本地IDC的自建数据库
MongoDB:阿里云MongoDB实例
Redis:阿里云Redis实例
DRDS:阿里云DRDS实例
PetaData:阿里云PetaData实例
OceanBase:阿里云OceanBase实例
PolarDB:阿里云PolarDB MySQL集群
PolarDB_o:阿里云PolarDB-O集群
DestinationEndpoint.Region String 目标实例所在区域,如果是自建数据库,可以选择离自建 IDC 物理距离最近的区域,取值请参见支持的地域列表
DestinationEndpoint.InstanceID String 目标实例ID。
当 DestinationEndpoint.InstanceType取值为RDS时,本参数需传入RDS实例ID
当 DestinationEndpoint.InstanceType取值为ECS时,本参数需传入ECS实例ID
当 DestinationEndpoint.InstanceType取值为MongoDB时,本参数需传入MongoDB实例ID
当 DestinationEndpoint.InstanceType取值为Redis时,本参数需传入Redis实例ID
当 DestinationEndpoint.InstanceType取值为DRDS时,本参数需传入DRDS实例ID
当 DestinationEndpoint.InstanceType取值为PetaData时,本参数需传入PetaData实例ID
当DestinationEndpoint.InstanceType取值为 OceanBase 时,本参数需传入OceanBase 实例 ID
当DestinationEndpoint.InstanceType取值为PolarDB时,本参数需传入PolarDB MySQL集群ID
当DestinationEndpoint.InstanceType取值为PolarDB-o时,本参数需传入PolarDB-O集群ID
DestinationEndpoint.EngineName String 目标库的数据库类型。取值:MySQLDRDSSQLServerPostgreSQLMongoDBRedis
DestinationEndpoint.InstanceType取值为RDSDRDSECSLocalInstanceExpress时,本参数才可用且必须传入。
DestinationEndpoint.IP String 目标实例连接地址,当目标实例为本地自建数据库时必填。
DestinationEndpoint.Port String 目标实例监听端口,当目标实例为自建数据库时必填。
DestinationEndpoint.DatabaseName String 目标实例的连接数据库库名,如果目标实例的数据库类型为DRDS、PostgreSQL或MongoDB时必填。
DestinationEndpoint.UserName String 目标实例的访问账号。
DestinationEndpoint.Password String 目标实例的访问密码。
MigrationMode.StructureIntialization Boolean 迁移任务是否进行结构迁移,取值包括:
true:表示需要进行结构迁移。
false:表示不进行结构迁移。
MigrationMode.DataIntialization Boolean 迁移任务是否进行全量数据迁移,取值包括:
true:表示需要进行全量数据迁移。
false:表示不进行全量数据迁移。
MigrationMode.DataSynchronization Boolean 迁移任务是否进行增量数据迁移,取值包括:
true:表示需要进行增量数据迁移。
false:表示不进行增量数据迁移。
MigrationObject List 需要迁移的对象,详情请参见迁移对象配置说明
MigrationReserved String DTS预留参数,您可以传入本参数实现特殊需求(例如是否自动启动预检查),详情请参见MigrationReserved参数说明
Checkpoint String 启动位点,格式为Unix时间戳,单位为秒。
DestinationEndpoint.OracleSID String 当目标数据库的类型为Oracle时,本参数传入Oracle的SID。
AccountId String 阿里云账号ID。

返回参数

参数名称 数据类型 参数说明
RequestId String 请求ID

示例

下面简单演示通过 JAVA SDK 配置迁移任务的示例:

  1. private static void configureMigrationJob(String MigrationJobId){
  2. String MigrationJobName="jiangliutest";
  3. /*Source Endpoint*/
  4. String SourceEndpoint_InstanceType="RDS";
  5. String SourceEndpoint_Region="cn-hangzhou";
  6. String SourceEndpoint_InstanceId="rm-bp185gso372vbd1l8";
  7. String SourceEndpoint_UserName="*******";
  8. String SourceEndpoint_Password="*******";
  9. /*Destination Endpoint*/
  10. String DestinationEndpoint_InstanceType="RDS";
  11. String DestinationEndpoint_InstanceId="rm-bp1nx2h5fm3v6q26l";
  12. String DestinationEndpoint_UserName="******";
  13. String DestinationEndpoint_Password="******";
  14. Boolean MigrationMode_StructureIntialization=true;
  15. Boolean MigrationMode_DataIntialization=true;
  16. Boolean MigrationMode_DataSynchronization=true;
  17. String MigrationObject="[{\"DBName\":\"jiangliutest\",\"NewDBName\":\"jiangliutest\","
  18. + "\"TableIncludes\":[{\"TableName\":\"t1\",\"NewTableName\":\"t1\"}]}]";
  19. ConfigureMigrationJobRequest request = new ConfigureMigrationJobRequest();
  20. request.setMigrationJobId(MigrationJobId);
  21. request.setMigrationJobName(MigrationJobName);
  22. request.setSourceEndpointRegion(SourceEndpoint_Region);
  23. request.setSourceEndpointInstanceType(SourceEndpoint_InstanceType);
  24. request.setSourceEndpointInstanceID(SourceEndpoint_InstanceId);
  25. request.setSourceEndpointUserName(SourceEndpoint_UserName);
  26. request.setSourceEndpointPassword(SourceEndpoint_Password);
  27. request.setDestinationEndpointInstanceType(DestinationEndpoint_InstanceType);
  28. request.setDestinationEndpointInstanceID(DestinationEndpoint_InstanceId);
  29. request.setDestinationEndpointUserName(DestinationEndpoint_UserName);
  30. request.setDestinationEndpointPassword(DestinationEndpoint_Password);
  31. request.setMigrationModeStructureIntialization(MigrationMode_StructureIntialization);
  32. request.setMigrationModeDataIntialization(MigrationMode_DataIntialization);
  33. request.setMigrationModeDataSynchronization(MigrationMode_DataSynchronization);
  34. request.setMigrationObject(MigrationObject);
  35. try {
  36. ConfigureMigrationJobResponse response = client.getAcsResponse(request);
  37. System.out.println("Configure "+ MigrationJobId+ " Succeed");
  38. } catch (Exception e) {
  39. // TODO: handle exception
  40. System.out.println("Configure "+MigrationJobId + " Failed!");
  41. System.out.println(e.toString());
  42. }
  43. }