数据传输服务(Data Transfer Service,DTS)提供数据迁移、数据同步、数据订阅于一体的数据库数据传输服务,帮助您在业务不停服的前提下轻松完成数据库迁移,利用实时同步通道轻松构建异地容灾的高可用数据库架构。
数据迁移 API 使用关键流程
数据迁移任务中使用的关键接口如下。圆圈表示迁移任务的不同状态,请按照图中序号,依次进行接口调用操作。
迁移任务中,各任务状态下支持的操作和相关接口如下表所示:
任务状态 | 支持的操作 | 关键接口 | 说明 |
---|---|---|---|
- | - | 购买迁移服务CreateMigrationService | 购买迁移任务资源。购买完成后,会返回随机生成的迁移任务ID列表。 |
创建完成 created | 配置 | 配置迁移服务 ModifyMigrationJob 校验迁移任务 CreateMigrateCheckJob 查询数据迁移任务列表 DescribeMigrationJobs |
购买操作完成,下一步进行迁移任务配置。 任务配置完成后,发起校验。任务校验即在迁移任务启动前,对源库和目标库的各项参数进行校验,校验通过后才能启动迁移任务。 可通过“查询数据迁移任务列表 DescribeMigrationJobs”查询所有迁移任务列表,获取任务ID。 |
校验中 checking | - | 查询迁移校验任务结果 DescribeMigrationCheckJob | 迁移任务校验进行中。 |
校验通过 checkPass | 立即启动、配置、校验 | 启动数据迁移任务 StartMigrateJob | 迁移任务校验通过,启动数据迁移任务。 |
校验不通过 checkNotPass | 配置、校验 | 配置迁移服务 ModifyMigrationJob | 迁移任务校验不通过,需要重新配置迁移任务,然后再次发起校验。 |
准备运行 readyRun | 终止 | - | 进行启动操作后,准备启动数据迁移任务的过渡状态。 |
运行中 running | 终止、创建一致性校验任务(仅支持该功能的链路可操作) | 终止数据迁移任务 StopMigrateJob | 任务正在运行中。 用户如果不需要继续迁移,可以通过终止操作来取消任务。任务终止后不可恢复。 |
终止中 stopping | - | - | 进行终止操作后的过渡状态。 |
已终止 canceled | - | 隔离数据迁移服务 IsolateMigrateJob | 已终止的任务需要进行隔离,以便及时解冻费用(按量计费会冻结一小时费用)。 |
准备完成 readyComplete | 完成、终止、创建一致性校验任务(仅支持该功能的链路可操作) | 完成数据迁移任务CompleteMigrateJob 创建一致性校验任务 CreateCompareTask |
选择“全量+增量迁移“场景,当任务状态为”准备完成“时,表明全量和增量数据都已迁移完成,需要用户选择一个合适的时间,通过完成操作来结束任务。建议在完成操作前先进行数据一致性校验。数据一致性校验,即对比源库中选择迁移的数据,和已迁移到目标库中的数据结果是否一致,并查看不一致的数据详情。创建一致性校验任务成功后,会返回一致性校验的任务 ID。 |
完成中 completing | - | - | 进行完成操作后的过渡状态。 |
任务成功 success | - | 隔离数据迁移服务 IsolateMigrateJob | 迁移任务顺利完成。已完成的任务需要进行隔离,以便及时解冻费用(按量计费会冻结一小时费用)。 |
任务出错 error | 终止、重试 | 重试迁移任务 ResumeMigrateJob | 迁移过程中,出现异常导致任务中断,任务状态为“error”时,可以进行任务重试。 |
重试中 resuming | - | - | 进行重试操作后的过渡状态,重试成功则任务正常进行,重试失败则任务状态为“任务失败 failed”。 |
任务失败 failed | 重试(仅 Redis 迁移可进行重试操作) | 隔离数据迁移服务 IsolateMigrateJob | 迁移任务失败。 失败后的任务需要进行隔离操作,以便及时解冻费用(按量计费会冻结一小时费用)。 |
以上所有状态 | 查看、变配、隔离 | 查询某个数据迁移任务详情 DescribeMigrationDetail 调整实例规格 ModifyMigrateJobSpec 隔离数据迁移服务 IsolateMigrateJob |
通过查看操作查看某个指定迁移任务的详情。 通过变配操作调整迁移链路的规格,不同规格的传输速率不同。通过隔离操作将已结束的任务、失败的任务、不需要的任务,进行隔离。 |
已隔离 isolated (计费状态) | 解隔离(恢复)、下线 | 解除隔离数据迁移任务 RecoverMigrateJob 下线数据迁移任务 DestroyMigrateJob |
用户主动发起隔离操作,或者任务在欠费1天后,都会进入隔离状态,隔离中的资源会保留7天,业务停服不可用,隔离7天后资源会被清除。已隔离的任务,用户可以主动发起下线操作,也可以等隔离7天后系统自动下线。如果用户误操作了隔离,可以通过解隔离操作,将任务恢复到隔离前的状态。 |
数据同步 API 使用关键流程
数据同步任务中使用的关键接口如下。圆圈表示同步任务的不同状态,请按照图中序号,依次进行接口调用操作。
同步任务中,各任务状态下支持的操作和相关接口如下表所示:
任务状态 | 支持的操作 | 关键接口 | 说明 |
---|---|---|---|
- | - | 创建同步服务 CreateSyncJob | 购买同步任务资源。购买完成后,会返回随机生成的同步任务ID列表。 |
未初始化 UnInitialized | 配置 | 配置同步任务 ConfigureSyncJob 校验同步任务 CreateCheckSyncJob 查询同步任务信息 DescribeSyncJobs |
购买操作完成,下一步进行同步任务配置。 任务配置完成后,发起校验。任务校验即在同步任务启动前,对源库和目标库的各项参数进行校验,校验通过后才能启动同步任务。可通过“查询同步任务信息 DescribeSyncJobs”查询所有同步任务列表,获取任务ID。 |
校验中 Checking | - | 查询同步校验任务结果 DescribeCheckSyncJobResult | 同步任务校验进行中。 |
校验通过 CheckPass | 启动、配置、校验 | 启动同步任务 StartSyncJob | 同步任务校验通过,启动数据同步任务。 |
校验不通过 CheckNotPass | 配置、校验 | 配置同步任务 ConfigureSyncJob | 同步任务校验不通过,需要重新配置同步任务,然后再次发起校验。 |
准备运行 ReadyRunning | 结束 | - | 启动操作后,准备启动数据同步任务的过渡状态。 |
运行中 Running | 结束 | 结束同步任务 StopSyncJob | 任务正在运行中。 用户如果不需要继续同步,可以通过结束操作来停止任务。 |
结束中 Stopping | - | - | 进行结束操作后的过渡状态。 |
已结束 Stopped | - | 隔离同步任务 IsolateSyncJob | 同步任务顺利完成。已完成的任务需要进行隔离,以便及时解冻费用(按量计费会冻结一小时费用)。 |
任务出错 ResumableErr | 结束、重试 | 重试同步任务 ResumeSyncJob | 同步过程中,出现异常导致任务中断,任务状态为“ResumableErr”时,可以进行任务重试。 |
重试中 Resuming | - | - | 进行重试操作后的过渡状态,重试成功则任务正常进行,重试失败则任务状态为“任务失败 Failed”。 |
任务失败 Failed | - | 隔离同步任务 IsolateSyncJob | 同步任务失败。 失败后的任务需要进行隔离操作,以便及时解冻费用(按量计费会冻结一小时费用)。 |
以上所有状态 | 查看、变配、隔离 | 查询同步任务信息 DescribeSyncJobs 调整同步任务规格 ResizeSyncJob 隔离同步任务 IsolateSyncJob |
通过查看操作查看某个指定同步任务的详情。通过变配操作调整同步链路的规格,不同规格的传输速率不同。通过隔离操作将已结束的任务、失败的任务、不需要的任务,进行隔离。 |
已隔离 Isolated (计费状态) | 解隔离(恢复)、下线 | 解除隔离同步任务 RecoverSyncJob 下线同步任务 DestroySyncJob |
用户主动发起隔离操作,或者任务在欠费1天后,都会进入隔离状态,隔离中的资源会保留7天,业务停服不可用,隔离7天后资源会被清除。已隔离的任务,用户可以主动发起下线操作,也可以等隔离7天后系统自动下线。如果用户误操作了隔离,可以通过解隔离操作,将任务恢复到隔离前的状态。 |
数据订阅 API 使用关键流程
数据订阅任务中使用的关键接口如下。圆圈表示订阅任务的不同状态,请按照图中序号,依次进行接口调用操作。
任务状态 | 支持的操作 | 关键接口 | 说明 |
---|---|---|---|
- | - | 创建订阅任务 CreateSubscribe | 购买订阅任务资源。购买完成后,会返回随机生成的订阅任务ID列表。 |
未启动 notStarted | 配置订阅、销毁/退货 | 配置订阅任务 ConfigureSubscribe 校验订阅任务 CreateSubscribeCheckJob |
购买完成,下一步进行订阅任务配置。任务配置完成后,发起校验。校验任务即在订阅任务启动前,对源库的各项参数进行校验,校验通过后才能启动订阅任务。 |
校验中 checking | 查询订阅校验结果DescribeSubscribeCheckJob | 订阅任务校验进行中。 | |
校验通过 checkPass | 启动、配置订阅、校验、销毁/退货 | 启动校验任务 StartSubscribe | 校验通过,启动数据订阅任务。 |
校验不通过 checkNotPass | 配置订阅、校验、销毁/退货 | 配置订阅任务 ConfigureSubscribeJob | 订阅任务校验不通过,需要重新配置订阅任务,然后再次发起校验。 |
启动中 starting | 销毁/退货 | - | 订阅任务启动中,过渡状态。 |
任务运行 running | 修改订阅对象、重置订阅、销毁/退货、查看任务详情 | 创建消费组CreateConsumerGroup 修改订阅对象 ModifySubscribeObjects 重置订阅任务 ResetSubscribe 销毁/退货订阅任务 IsolateSubscribe 查看订阅任务详情 DescribeSubscribeDetail |
订阅任务运行中,此时可以创建消费组消费Kafka。修改订阅对象(ModifySubscribeObjects),是对正在进行的任务,追加或者删除对象,Kafka 分区规则等。销毁任务,是停止任务并清空配置和kafka数据,同时进行计费清算。重置订阅任务,是对不再需要的任务进行重置,旧的任务会停止并清空历史配置和kafka数据,然后重新配置新任务。重置任务可以避免用户先退费旧任务,再购买新任务,频繁地进行购买操作。任务运行中可查看任务详情并操作kafka相关接口。 |
停止中 stopping | - | 重置订阅对象时,订阅任务停止中。重置后待任务状态变为“未启动 notStarted”状态才可重新配置任务。 | |
任务出错 error | 恢复、销毁/退货 | 恢复订阅任务 ResumeSubscribe | 订阅过程中,如果任务出现异常导致任务中断,状态为“error”时,可以尝试恢复任务。 |
已隔离 isolated | 下线 | 下线已隔离的订阅任务 OfflineIsolatedSubscribe | 销毁/退货操作后,任务会进入隔离的状态。隔离的任务,用户可以主动发起下线操作,也可以等隔离1天后系统自动下线。 |