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