更新时间:2024-07-11 GMT+08:00

查询任务详情

功能介绍

查询任务详情。

接口约束

  • 目前仅支持Redis->GeminiDB Redis迁移、Redis集群->GeminiDB Redis迁移、MySQL->MySQL同步、Oracle->GaussDB分布式同步场景。
  • 仅支持部分Region使用,详情参考终端节点

URI

GET /v5/{project_id}/jobs/{job_id}

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

租户在某一Region下的Project ID。

获取方法请参见获取项目ID

job_id

String

任务ID。

表2 Query参数

参数

是否必选

参数类型

描述

type

String

任务详情类型。取值:

  • detail:任务基本信息。
  • network:测试连接结果信息,需配合query_id参数一起查询。
  • precheck:预检查结果信息,需配合query_id参数一起查询。
  • progress:任务进度信息。
  • log:任务日志信息,支持分页查询参数offset与limit。
  • compare:查询对比任务。
  • file:对象导入信息。
  • is_writable:目标库解除只读结果。
  • cloud_connection:录制回放他云连通性测试,需配合query_id参数一起查询。

枚举值:

  • detail
  • network
  • precheck
  • progress
  • log
  • compare
  • file
  • is_writable
  • cloud_connection

query_id

String

通过指定Query ID查询任务详情。

说明:部分type类型的任务详情,需要通过触发该操作的请求返回的query_id进行操作结果查询。

offset

Integer

偏移量,表示查询该偏移量后面的记录。

说明:部分type类型的任务详情支持分页查询,可以通过传递该参数进行分页控制。

limit

Integer

查询返回记录的数量限制。

说明:部分type类型的任务详情支持分页查询,可以通过传递该参数进行分页控制。

compare_type

String

对比任务类型,type参数是compare时必填。取值:

  • object_compare:对象对比。
  • line_compare:行对比。
  • content_compare:内容对比。
  • data_compare:数据对比。

枚举值:

  • object_compare
  • line_compare
  • content_compare
  • data_compare

query_type

String

查询对比内容,type参数是compare时必填。取值:

  • overview:对比任务概览。
  • list:数据对比任务列表。
  • detail:对比详情。
  • diff:不一致详情。

枚举值:

  • overview
  • list
  • detail
  • diff

object_type

String

查询对象对比详情类型。取值:

  • DB:库级对比详情。
  • TABLE:表级对比详情。
  • INDEX:索引对比详情。

枚举值:

  • DB
  • TABLE
  • INDEX

compare_task_id

String

对比任务ID。

source_db_name

String

数据对比源库名称。

target_db_name

String

数据对比目标库名称。

compare_detail_type

String

对比结果类型。取值:

  • compare:对比完成。
  • uncompare:无法对比。

枚举值:

  • compare
  • uncompare

请求参数

表3 请求Header参数

参数

是否必选

参数类型

描述

Content-Type

String

发送的实体的MIME类型。推荐用户默认使用application/json,如果API是对象、镜像上传等接口,媒体类型可按照流类型的不同进行确定。

缺省值:application/json

X-Auth-Token

String

从IAM服务获取的用户Token。

用户Token也就是调用获取用户Token接口的响应值,该接口是唯一不需要认证的接口。

请求响应成功后在响应消息头中包含的“X-Subject-Token”的值即为Token值。

X-Language

String

请求语言类型。

缺省值:en-us

枚举值:

  • en-us
  • zh-cn

响应参数

状态码: 200

表4 响应Body参数

参数

参数类型

描述

job

Object

查询单任务详情响应体。

详情请参见表5

表5 job字段数据结构说明

参数

参数类型

描述

id

String

任务ID。

status

String

任务状态。

  • CREATING:创建中。
  • CREATE_FAILED:创建失败。
  • CONFIGURATION:配置中。
  • STARTJOBING:启动中。
  • WAITING_FOR_START:等待启动中。
  • START_JOB_FAILED:启动失败。
  • PAUSING:已暂停。
  • FULL_TRANSFER_STARTED:全量开始,灾备场景下为初始化。
  • FULL_TRANSFER_FAILED:全量失败,灾备场景下为初始化失败。
  • FULL_TRANSFER_COMPLETE:全量完成,灾备场景下为初始化完成。
  • INCRE_TRANSFER_STARTED:增量开始,灾备场景下为灾备中。
  • INCRE_TRANSFER_FAILED:增量失败,灾备场景下为灾备异常。
  • RELEASE_RESOURCE_STARTED:结束任务中。
  • RELEASE_RESOURCE_FAILED:结束任务失败。
  • RELEASE_RESOURCE_COMPLETE:已结束。
  • REBUILD_NODE_STARTED:故障恢复中。
  • REBUILD_NODE_FAILED:故障恢复失败。
  • CHANGE_JOB_STARTED:任务变更中。
  • CHANGE_JOB_FAILED:任务变更失败。
  • DELETED:已删除。
  • CHILD_TRANSFER_STARTING:再编辑子任务启动中。
  • CHILD_TRANSFER_STARTED:再编辑子任务迁移中。
  • CHILD_TRANSFER_COMPLETE:再编辑子任务迁移完成。
  • CHILD_TRANSFER_FAILED:再编辑子任务迁移失败。
  • RELEASE_CHILD_TRANSFER_STARTED:再编辑子任务结束中。
  • RELEASE_CHILD_TRANSFER_COMPLETE:再编辑子任务已结束。
  • NODE_UPGRADE_START:升级开始。
  • NODE_UPGRADE_COMPLETE:升级完成。
  • NODE_UPGRADE_FAILED:升级失败。

create_time

String

任务创建时间。

total_count

Integer

列表中的项目总数,与分页无关。

master_job_id

String

多任务主节点的任务ID。

base_info

Object

任务基本信息体。

详情请参见表6

source_endpoint

Array of objects

任务源数据库信息体。

详情请参见表8

target_endpoint

Array of objects

任务目标数据库信息体。

详情请参见表8

alarm_notify

Object

异常通知信息设置信息体。配置该参数时,代表当任务状态异常时,系统将发送通知给指定的SMN Topic。

详情请参见表15

speed_limit

Array of objects

限速信息体。

  • 限速:自定义的最大迁移速度,迁移过程中的迁移速度将不会超过该速度。
  • 不限速:对迁移速度不进行限制,通常会最大化使用源数据库的出口带宽。

该流速模式同时会对源数据库造成读消耗,消耗取决于源数据库的出口带宽。比如:源数据库的出口带宽为100MB/s,假设高速模式使用了80%带宽,则迁移对源数据库将造成80MB/s的读操作IO消耗。

详情请参见表16

user_migration

Object

用户迁移信息体。

详情请参见表17

policy_config

Object

策略信息体。设置迁移和同步任务的策略,包括冲突策略、过滤DROP Datase、对象同步范围等。

详情请参见表20

db_param

Object

数据库参数信息体。

详情请参见表21

tuning_params

Object

高级设置信息体。

详情请参见表23

period_order

Object

包年/包月信息体。

详情请参见表25

node_info

Object

任务实例信息体。

详情请参见表26

logs

Array of objects

日志查询结果信息体。

详情请参见表30

network_results

Array of objects

网络打通测试结果信息体。

详情请参见表31

precheck_result

Object

预检查结果信息体。

详情请参见表32

progress_info

Object

任务进度信息体。

详情请参见表35

migration_object_progress_info

Object

迁移中对象进度信息体。

详情请参见表37

metrics

Object

Node节点指标项。

详情请参见表39

compare_result

Object

任务对比结果。

详情请参见表40

support_import_file_resp

Object

对象导入信息。

详情请参见表51

instance_features

Map<String,String>

由开关和版本共同控制的任务级别的功能列表。

task_version

String

任务版本。

connection_management

Object

连接管理。

详情请参见表52

public_ip_list

Array of objects

指定公网IP的信息。

详情请参见表54

bind_public_ip_state

String

是否成功绑定公网IP。

children

Array of objects

多任务时,存在子任务绑定失败时,返回子任务的信息。

详情请参见表55

is_writable

String

解除目标库只读操作后,目标库解除只读是否成功。

  • pending:目标库解除操作进行中。
  • success:目标库解除只读操作成功。

枚举值:

  • pending
  • success
表6 base_info字段数据结构说明

参数

参数类型

描述

name

String

任务名称。 约束:任务名称在4位到50位之间,不区分大小写,可以包含字母、数字、中划线或下划线,不能包括其他特殊字符。

  • 最小长度:4
  • 最大长度:50

job_type

String

任务场景。取值:

  • migration:实时迁移。
  • sync:实时同步。
  • cloudDataGuard:实时灾备。

枚举值:

  • migration
  • sync
  • cloudDataGuard

multi_write

Boolean

灾备类型是否双主灾备。说明:

  • job_type 是cloudDataGuard时,必填,灾备类型是双主灾备时,multi_write取值true, 否则为false。
  • job_type 是其他类型时,multi_write是非必选参数。

engine_type

String

引擎类型。取值:

  • oracle-to-gaussdbv5:Oracle同步到GaussDB分布式版,实时同步场景使用。
  • redis-to-gaussredis:Redis迁移到GeminiDB Redis,实时迁移场景使用。
  • rediscluster-to-gaussredis:Redis集群迁移到GeminiDB Redis,实时迁移场景使用。

枚举值:

  • oracle-to-gaussdbv5
  • redis-to-gaussredis
  • rediscluster-to-gaussredis

job_direction

String

迁移方向。取值:

  • up:入云 ,灾备场景时对应本云为备。
  • down:出云,灾备场景时对应本云为主。
  • non-dbs:自建。

枚举值:

  • up
  • down
  • non-dbs

task_type

String

迁移模式。取值:

  • FULL_TRANS :全量。
  • FULL_INCR_TRANS:全量+增量。
  • INCR_TRANS:增量。

枚举值:

  • FULL_TRANS
  • FULL_INCR_TRANS
  • INCR_TRANS

net_type

String

网络类型。取值:

  • eip:公网网络。
  • vpc:VPC网络,灾备场景不支持选择VPC网络。
  • vpn:VPN、专线网络。

枚举值:

  • eip
  • vpc
  • vpn

charging_mode

String

计费模式,默认按需。取值:

  • period:包周期。
  • on_demand:按需。

枚举值:

  • period
  • on_demand

enterprise_project_id

String

企业项目ID。 缺省值:"0",表示"default"企业项目。

缺省值:0

description

String

任务描述。 约束:任务描述不能超过256位,且不能包含!<>&'"\特殊字符。

最小长度:0

最大长度:256

start_time

String

任务定时启动时间。

expired_days

String

任务处于异常状态一段时间后,将会自动结束。单位为天。(范围14-100),不传默认为14天。

缺省值:14

tags

Array of objects

标签信息,最多添加20个标签。

详情请参见表7

is_open_fast_clean

Boolean

是否开启云数据库RDS for MySQL、MariaDB的Binlog快速清理。

表7 tags字段数据结构说明

参数

参数类型

描述

key

String

标签键。 约束:最大长度36,只能包含字母、数字、下划线、中划线和中文。

最小长度:1

最大长度:36

value

String

标签值。 约束:最大长度43,只能包含字母、数字、下划线、中划线和中文。

最小长度:1

最大长度:43

表8 source_endpoint和target_endpoint字段数据结构说明

参数

参数类型

描述

db_type

String

数据库类型。取值:

  • oracle:Oracle。
  • gaussdbv5:GaussDB分布式版。
  • redis:Redis。
  • rediscluster:Redis集群版。
  • gaussredis: GeminiDB Redis。

枚举值:

  • oracle
  • gaussdbv5
  • redis
  • rediscluster
  • gaussredis

endpoint_type

String

数据库实例类型。取值:

  • offline:自建数据库。
  • ecs:华为云ECS自建数据库。
  • cloud:华为云数据库。

枚举值:

  • offline
  • ecs
  • cloud

endpoint_role

String

数据库实例角色。取值:

  • so:源库。
  • ta:目标库。

枚举值:

  • so
  • ta

endpoint

Object

数据库基本信息体。

详情请参见表9

cloud

Object

数据库实例所在Region,项目等信息。

详情请参见表10

vpc

Object

数据库实例所在VPC,子网,安全组等信息。

详情请参见表11

config

Object

数据库基本设置信息体。

详情请参见表12

ssl

Object

数据库SSL证书信息体。

详情请参见表13

customized_dns

Object

客户自定义DNS服务。

详情请参见表14

表9 endpoint和source_sharding字段数据结构说明

参数

参数类型

描述

id

String

数据库信息ID。

endpoint_name

String

数据库场景类型。取值:

  • oracle:云下自建Oracle数据库。
  • ecs_oracle:华为云ECS自建Oracle数据库。
  • cloud_gaussdbv5:华为云数据库GaussDB分布式。
  • mysql:他云/本地自建MySQL数据库。
  • ecs_mysql:华为云ECS自建MySQL数据库。
  • cloud_mysql:华为云数据库RDS for MySQL。
  • redis:云下自建Redis数据。
  • ecs_redis:华为云ECS自建Redis数据。
  • rediscluster:云下自建Redis集群数据库。
  • ecs_rediscluster:华为云ECS自建Redis集群数据库。
  • cloud_gaussdb_redis:华为云数据库GeminiDB Redis。

枚举值:

  • oracle
  • ecs_oracle
  • cloud_gaussdbv5
  • mysql
  • ecs_mysql
  • cloud_mysql
  • redis
  • ecs_redis
  • rediscluster
  • ecs_rediscluster
  • cloud_gaussdb_redis

ip

String

数据库IP。约束:

  • 数据库为自建MongoDB时,数据库IP与端口之间用“:”英文冒号拼接,多个值之间请用“,”英文逗号隔开,最多支持填写3个IP地址或域名。
  • 数据库为DDS实例时,数据库IP与端口之间用“:”英文冒号拼接,多个IP端口之间请用“,”英文逗号分隔。
  • 数据库为Redis集群时,请填写源端Redis集群所有分片的IP地址和对应端口,数据库IP与端口之间用“:”英文冒号拼接,多个IP端口之间请用“,”英文逗号分隔,并且推荐填写集群分片的Slave节点的IP地址。最多支持填写32个IP地址或域名,多个值之间请用英文逗号隔开。

示例:

  • MongoDB:192.168.0.10:8080,192.168.0.11:8080,192.168.0.12:8080
  • DDS:192.168.205.130:8635,192.168.250.64:8635
  • Redis集群:192.168.0.1:8080,192.168.0.2:8080

db_port

String

数据库端口。

约束:输入范围为1-65535之间的整数。

db_user

String

数据库用户名。

db_password

String

数据库密码。

instance_id

String

华为云数据库实例ID。

instance_name

String

华为云数据库实例名称。

db_name

String

指定数据库名称。例如:

  • oracle:serviceName.orcl。

source_sharding

Array of objects

物理源库信息。

详情请参见表9

表10 cloud字段数据结构说明

参数

参数类型

描述

region

String

区域ID,当数据库实例类型为ecs(华为云ECS自建数据库),cloud(华为云数据库)时为必填项。获取方法请参见地区和终端节点。 注意:当该Region下存在子项目时,Region ID为区域项目ID与子项目ID,由“_”下划线拼接。

project_id

String

租户在某一Region下的Project ID。 获取方法请参见获取项目ID。

az_code

String

数据库所在可用分区(AZ)名称。

表11 vpc字段数据结构说明

参数

参数类型

描述

vpc_id

String

数据库实例所在的虚拟私有云ID,获取方法如下: 方法1:登录虚拟私有云服务的控制台界面,在虚拟私有云的详情页面查找VPC ID。 方法2:通过虚拟私有云服务的API接口查询,具体操作可参考查询VPC列表

subnet_id

String

数据库实例所在子网ID,获取方法如下: 方法1:登录虚拟私有云服务的控制台界面,单击VPC下的子网,进入子网详情页面,查找网络ID。 方法2:通过虚拟私有云服务的API接口查询,具体操作可参考查询子网列表

security_group_id

String

数据库实例所在的安全组ID,获取方法如下: 方法1:登录虚拟私有云服务的控制台界面,在安全组的详情页面查找安全组ID。 方法2:通过虚拟私有云服务的API接口查询,具体操作可参考查询安全组列表

表12 config字段数据结构说明

参数

参数类型

描述

is_target_readonly

Boolean

目标实例是否设置为为只读。MySQL迁移和灾备,且job_direction为up时设置有效。(灾备场景下,单主灾备且本云为备为必填且为true,不填默认设置为true)。

缺省值:true

node_num

Integer

Redis集群到GeminiDB Redis迁移场景填写,连接源端Redis集群的子任务个数,输入值在1到16之间,且输入值不能大于源端Redis集群的分片个数,请根据源端Redis集群的规模合理选择。建议集群的每4个分片设置1个源端分片个数,即每1个子任务连接源端集群的4个分片。

最小值:1

最大值:16

缺省值:0

表13 ssl字段数据结构说明

参数

参数类型

描述

ssl_link

Boolean

是否SSL安全连接。如果数据库启用了SSL安全连接,参数值为true。

ssl_cert_name

String

SSL证书名字。

ssl_cert_key

String

SSL证书内容,用base64加密。

ssl_cert_check_sum

String

SSL证书内容checksum值,后端校验,源库安全连接必选。

ssl_cert_password

String

SSL证书密码,证书文件后缀为.p12时必填。

表14 customized_dns字段数据结构说明

参数

参数类型

描述

is_set_dns

Boolean

是否设置客户自定义DNS。

set_dns_action

String

设置客户自定义DNS的行为。

  • add:新增客户自定义DNS IP。
  • keep:保持客户自定义DNS IP。
  • update:更新客户自定义DNS IP(当DNS IP变化时更新生效)。
  • recover:还原系统默认DNS IP(还原时可能会导致域名解析失败,请谨慎操作)。

枚举值:

  • add
  • keep
  • update
  • recover

dns_ip

String

设置客户自定义DNS IP。

最小长度:0

最大长度:15

表15 alarm_notify字段数据结构说明

参数

参数类型

描述

alarm_to_user

Boolean

异常告警是否通知用户。

缺省值:false

topic_urn

String

SMN主题URN。

delay_time

Long

时延阈值(单位为s)。取值:

  • 最小值:1
  • 最大值:3600
  • 缺省值:0
说明:
  1. 源数据库和目标数据库之间的同步有时会存在一个时间差,称为时延,单位为秒。
  2. 时延阈值设置是指时延超过一定的值并持续6分钟后,DRS可以发送通知给指定收件人。(初次进入增量迁移阶段,会有较多数据等待同步,存在较大的时延,属于正常情况,不在此功能的监控范围之内。)
  3. 只有全量+增量的任务支持此选项。

rpo_delay

Long

RPO时延阈值(单位为s)。取值:

  • 最小值:1
  • 最大值:3600
  • 缺省值:0
说明:

RPO时延阈值设置是业务数据库与DRS实例间同步的时延超过一定的值并持续6分钟后,DRS可以发送通知给指定收件人。(初次进入增量灾备阶段,会有较多数据等待同步,存在较大的时延,属于正常情况,不在此功能的监控范围之内。)

rto_delay

Long

RTO时延阈值(单位为s)。取值:

  • 最小值:1
  • 最大值:3600
  • 缺省值:0
说明:

RTO时延阈值设置是DRS实例与灾备数据库间同步的时延超过一定的值并持续6分钟后,DRS可以发送通知给指定收件人。

表16 speed_limit字段数据结构说明

参数

参数类型

描述

begin

String

开始限速时间,此时间为UTC时间,开始时间为整时,如果有分钟,则会忽略,格式为hh:mm,小时数为两位,例如:01:00。

end

String

结束时间,此时间为UTC时间,输入必须为59分结尾,格式为hh:mm,例如:15:59。

speed

String

限速值,取值范围为1~9999,单位为MB/s。

表17 user_migration字段数据结构说明

参数

参数类型

描述

is_migrate_user

Boolean

是否迁移用户。

is_set_password

Boolean

是否统一重置密码。取值:

  • true:重置密码为统一密码。
  • false:不统一重置密码。 当前支持的场景:
  • 实时迁移场景:MySQL迁移。

password

String

重置后的统一密码。统一重置密码为true时必填。 约束:密码不能为空。

user_list

Array of objects

用户迁移信息用户列表字段。当前支持的场景:

  • 实时迁移场景:MySQL->MySQL迁移,MongoDB->DDS迁移。

详情请参见表18

role_list

Array of objects

用户迁移信息角色列表字段。当前支持的场景:

  • 实时迁移场景:MongoDB->DDS迁移。

详情请参见表19

表18 user_list字段数据结构说明

参数

参数类型

描述

id

String

用户ID。

account

String

用户。

is_set_password

Boolean

是否重置该用户密码。当前支持的场景:

  • 实时迁移场景:MySQL迁移。

password

String

重置后的密码。统一重置密码或单个用户重置密码为true时必填,约束:密码不能为空。

表19 role_list字段数据结构说明

参数

参数类型

描述

role

String

角色。

表20 policy_config字段数据结构说明

参数

参数类型

描述

filter_ddl_policy

String

过滤DDL策略。取值:

  • drop_database

场景区别:

  • 实时迁移场景:MySQL迁移可填"",表示不过滤DROP DATABASE。
  • 实时同步场景:MySQL同步只能填"drop_database"。

枚举值:

  • drop_database

conflict_policy

String

增量阶段冲突策略。该冲突策略特指增量同步中的冲突处理策略,全量阶段的冲突默认忽略。取值:

  • ignore:忽略。当同步数据与目标库已有数据冲突时(主键/唯一键重复等),DRS将忽略源库的冲突数据,并保留目标库中的冲突数据,继续进行后续同步。
  • stop:报错。当同步数据与目标库已有数据冲突时(主键/唯一键重复等),同步任务将失败并立即中止。可在同步日志中查看详细信息。
  • overwrite:覆盖。当同步数据与目标库已有数据冲突时(主键/唯一键重复等),将覆盖原来的冲突数据。

场景区别:

  • 实时迁移场景:不支持。
  • 实时同步场景:支持。

枚举值:

  • ignore
  • stop
  • overwrite

index_trans

Boolean

对象同步范围:是否同步普通索引。DRS将默认同步主键/唯一索引,普通索引是指除主键/唯一索引以外的其他类型索引。取值:

  • true:将会同步全部的索引。
  • false:仅同步主键/唯一索引,普通索引不会同步。

缺省值:true

ddl_trans

Boolean

对象同步范围:同步增量阶段是否同步DDL。取值:

  • true:增量阶段同步DDL。
  • false:增量阶段不同步DDL。

缺省值:true

data_sync_topology_type

String

数据同步拓扑。数据同步功能支持多种同步拓扑,您可以根据业务需求规划您的同步实例。参考链接。取值:

  • one2one:一对一。
  • one2many:一对多。
  • many2one:多对一。

缺省值:one2one

枚举值:

  • one2one
  • one2many
  • many2one

support_ddl_info

String

增量支持的DDL。取值:

  • CREATE_TABLE:创建表。
  • ADD_COLUMN:加列。
  • MODIFY_COLUMN:改列属性。
  • CHANGE_COLUMN:改列属性。
  • DROP_INDEX:删除索引。
  • ADD_INDEX:加索引。
  • CREATE_INDEX:创建索引。
  • RENAME_INDEX:重命名索引。

使用提示:

  • 一对一,一对多场景,如果业务上认为源和目标应该使用保持严格一致,那么高危类DDL也应该勾选并同步。
  • 一对一,一对多场景,如果业务上确定某个高危DDL不应该发生,则可以不勾选同步高危类DDL,这样DRS将拦截过滤这个DDL,从而起到保护目标数据的作用,但需要知晓过滤DDL的附带问题是可能导致同步失败,例如过滤删列动作。
  • 多对一数据聚合场景,最佳实践是推荐只选择同步加列DDL,其他大部分DDL同步都因目标表修改而导致其他任务失败/数据不一致的情况发生,常见情况有:
    • 同步truncate导致目标数据全部被清空。
    • 同步创建索引导致目标表被锁定。
    • 同步rename导致其他任务找不到目标表而失败。
    • 同步改列导致其他任务因数据类型不兼容而失败。

枚举值:

  • CREATE_TABLE
  • ADD_COLUMN
  • MODIFY_COLUMN
  • CHANGE_COLUMN
  • DROP_INDEX
  • ADD_INDEX
  • CREATE_INDEX
  • RENAME_INDEX

sync_type_policy

String

同步数据类型。取值:

  • supportAllType:同步所有类型
  • tableData:同步数据
  • tableStructure:同步表结构
  • constraintData:索引同步
说明:

除supportAllType以外,其他类型可组合填写,例如:"tableData,tableStructure" 。

increment_read_mode

String

oracle到GaussDB增量读取方式:logminer,xstream。

dml_types

String

DML同步类型。

表21 db_param字段数据结构说明

参数

参数类型

描述

common

Array of objects

常规参数。只有对比结果为不一致的目标库参数能被修改。

详情请参见表22

performance

Array of objects

性能参数。对比结果一致也可以修改目标库的值。

详情请参见表22

表22 common和performance字段数据结构说明

参数

参数类型

描述

key

String

数据库参数名。

target_value

String

目标数据库参数值。

表23 tuning_params字段数据结构说明

参数

参数类型

描述

full_sync

Array of objects

全量调优参数。

详情请参见表24

incre_capture

Array ofobjects

增量抓取调优参数。

详情请参见表24

incre_apply

Array of objects

增量回放调优参数。

详情请参见表24

incre_relay

Array of objects

增量日志拉取调优参数。

详情请参见表24

表24 full_sync、incre_capture、incre_apply和incre_relay字段数据结构说明

参数

参数类型

描述

param_name

String

参数名称。

param_value

String

参数取值。

availability

Boolean

是否可用。

表25 period_order字段数据结构说明

参数

参数类型

描述

period_type

Integer

订购周期类型。取值:

  • 2:月。
  • 3:年。

缺省值:3

枚举值:

  • 2
  • 3

period_num

Integer

订购周期数。根据period_type取值不同,代表不同周期数,例如:

  • 当period_type为2时,period_num为1代表1月。
  • 当period_type为3时,period_num为1代表1年。

is_auto_renew

Integer

是否自动续订。取值:

  • 0:否(默认值,需要客户手动去支付)。
  • 1:是(自动支付)。

缺省值:0

枚举值:

  • 0
  • 1
表26 node_info字段数据结构说明

参数

参数类型

描述

spec

Object

任务实例规格信息体。

详情请参见表27

vpc

Object

任务实例VPC信息体,自建任务必填。

详情请参见表28

base_info

Object

任例基本信息。

详情请参见表29

表27 spec字段数据结构说明

参数

参数类型

描述

node_type

String

实例规格编码。取值:

  • micro:极小规格。
  • small:小规格。
  • medium:中规格。
  • high:大规格。

枚举值:

  • micro
  • small
  • medium
  • high
表28 vpc字段数据结构说明

参数

参数类型

描述

vpc_id

String

任务实例所在虚拟私有云ID。

subnet_id

String

任务实例所在子网ID。

custom_node_ip

String

指定创建任务实例IP地址,多个IP端口之间请用“,”英文逗号分隔,目前仅支持设置IPv4地址,获取方法如下:

  • 方法1:登录虚拟私有云服务的控制台界面,单击VPC下的子网,进入子网详情页面,查找子网的网段,选择未被占用的IP 。
  • 方法2:通过虚拟私有云服务的API接口查询,具体操作可参考查询私有IP列表,选择“device_owner”为空的私有IP。 示例: "192.168.0.10,192.168.0.11"

security_group_id

String

任务实例所在的安全组ID。

表29 base_info字段数据结构说明

参数

参数类型

描述

instance_type

String

实例类型。取值:

  • single:单机。
  • ha:主备。

枚举值:

  • single
  • ha

arch

String

CPU架构。取值:

  • x86
  • arm

枚举值:

  • x86
  • arm

availability_zone

String

可用区ID。约束:对于任务实例类型不是单机的实例,需要分别为实例所有节点指定可用区,并用“,”英文逗号隔开。示例:

  • 实例类型为single:"cn-north-4a"
  • 实例类型为ha:"cn-north-4a,cn-north-4b"

status

String

状态。

role

String

任务主备角色。

表30 logs字段数据结构说明

参数

参数类型

描述

level

String

日志级别。

message

String

日志信息。

create_time

String

日志时间。

表31 network_results字段数据结构说明

参数

参数类型

描述

ip

String

测试连接IP。

success

Boolean

测试连接是否成功。

result

String

测试连接结果。

status

String

测试连接是否成功。取值:

  • success:成功。
  • failed:不成功。

枚举值:

  • success
  • failed

error_code

String

测试连接失败错误码。

error_msg

String

测试连接失败错误内容。

表32 precheck_result字段数据结构说明

参数

参数类型

描述

result

Boolean

返回的预检查结果是否通过。

process

String

预检查进度百分比。

total_passed_rate

String

预检查通过百分比。

rds_instance_id

String

数据库实例ID。

job_direction

String

迁移方向。

precheck_results

Array of objects

预检查各项结果。

详情请参见表33

表33 precheck_results字段数据结构说明

参数

参数类型

描述

item

String

检查项。

result

String

检查结果。取值:

  • PASSED:检查通过。
  • ALARM:检查告警项。
  • FAILED:检查失败。

枚举值:

  • PASSED
  • ALARM
  • FAILED

failed_reason

String

失败原因。

data

String

失败数据。

raw_error_msg

String

失败详情。

group

String

检查项分组。

is_support_skip

Boolean

是否支持跳过。

is_skipped

Boolean

是否已跳过。

failed_sub_jobs

Array of objects

失败子任务详情。

详情请参见表34

表34 failed_sub_jobs字段数据结构说明

参数

参数类型

描述

id

String

子任务ID。

name

String

子任务名称。

check_result

String

子任务检查结果。

表35 progress_info字段数据结构说明

参数

参数类型

描述

progress

String

迁移对比百分比。

incr_trans_delay

String

增量迁移时延(单位:s)。

incr_trans_delay_millis

String

增量迁移时延(单位:ms)。

task_mode

String

迁移模式。

transfer_status

String

迁移状态。

process_time

String

迁移时间。

remaining_time

String

预计剩余时间。

progress_map

Map<String,ProgressCompleteInfo>

全量迁移进度详情。

详情请参见表36

表36 progress_map字段数据结构说明

参数

参数类型

描述

completed

String

完成进度。

remaining_time

String

预计剩余时间。

表37 migration_object_progress_info字段数据结构说明

参数

参数类型

描述

migration_object_overview

Array of objects

概览详情。

详情请参见表38

create_time

String

数据生成时间。

full_start_time

String

全量开始时间。

full_complete_time

String

全量完成时间。

incr_start_time

String

增量开始时间。

end_time

String

结束时间。

表38 migration_object_overview字段数据结构说明

参数

参数类型

描述

type

String

类型。

src_count

String

待迁移数量。

dst_count

String

已迁移数量。

status

String

状态.

start_time

String

开始时间。

end_time

String

结束时间。

表39 metrics字段数据结构说明

参数

参数类型

描述

job_id

String

任务ID。

node_id

String

实例ID。

time_stamp

String

上报时间。

cpu_util

String

CPU使用率。

mem_util

String

内存使用率。

network_incoming_bytes_rate

String

网络输入吞吐量。

network_outgoing_bytes_rate

String

网络输出吞吐量。

disk_read_bytes_rate

String

磁盘读吞吐量。

disk_write_bytes_rate

String

磁盘写吞吐量。

apply_rows_rate

String

写目标库频率。

apply_transactions_rate

String

DML TPS。

apply_ddl_rate

String

DDL TPS。

apply_average_execute_time

String

事务平均执行时间。

apply_average_commit_time

String

事务平均提交时间。

apply_current_state

String

同步状态。

表40 compare_result字段数据结构说明

参数

参数类型

描述

objects_compare_overview_info

Object

对象级对比任务信息体。

详情请参见表41

objects_compare_detail_infos

Array of objects

对象级对比详情信息体。

详情请参见表43

data_compare_task_list

Array of objects

数据对比任务列表。

详情请参见表44

line_compare_overview_infos

Array of objects

行数对比概览信息体。

详情请参见表45

line_compare_detail_infos

Array of objects

行数对比任务表级详情。

详情请参见表46

content_compare_overview_infos

Array of objects

内容对比概览信息体。

详情请参见表47

content_compare_detail_infos

Array of objects

内容对比详情信息体。

详情请参见表48

content_diff_detail_info

Object

内容对比不一致数据的详情。

详情请参见表49

表41 objects_compare_overview_info字段数据结构说明

参数

参数类型

描述

create_time

String

对比任务创建时间。

compare_results

Array of objects

对比结果。

详情请参见表42

start_time

String

对比任务开始时间。

status

String

对比任务状态。取值:

  • RUNNING:运行中。
  • WAITING_FOR_RUNNING:等待启动中。
  • SUCCESSFUL:完成。
  • FAILED:失败。
  • CANCELLED:已取消。

枚举值:

  • RUNNING
  • WAITING_FOR_RUNNING
  • SUCCESSFUL
  • FAILED
  • CANCELLED

export_status

String

导出比对结果状态。

report_remain_seconds

Long

导出比对结果有效期剩余时间。

compare_job_id

String

对比任务ID。

error_msg

String

失败原因。

表42 compare_results字段数据结构说明

参数

参数类型

描述

type

String

对象类型。取值:

  • DB:数据库。
  • TABLE:表。
  • VIEW:视图。
  • EVENT:事件。
  • ROUTINE:存储过程和函数。
  • INDEX:索引。
  • TRIGGER:触发器。
  • SYNONYM:同义词。
  • FUNCTION:函数。
  • PROCEDURE:存储过程。
  • TYPE:自定义类型。
  • RULE:规则。
  • DEFAULT_TYPE:缺省值。
  • PLAN_GUIDE:执行计划。
  • CONSTRAINT:约束。
  • FILE_GROUP:文件组。
  • PARTITION_FUNCTION:分区函数。
  • PARTITION_SCHEME:分区方案。
  • TABLE_COLLATION:表的排序规则。
  • EXTENSIONS:插件。

枚举值:

  • DB
  • TABLE
  • VIEW
  • EVENT
  • ROUTINE
  • INDEX
  • TRIGGER
  • SYNONYM
  • FUNCTION
  • PROCEDURE
  • TYPE
  • RULE
  • DEFAULT_TYPE
  • PLAN_GUIDE
  • CONSTRAINT
  • FILE_GROUP
  • PARTITION_FUNCTION
  • PARTITION_SCHEME
  • TABLE_COLLATION
  • EXTENSIONS

source_count

Long

源数量。

target_count

Long

目标数量。

status

String

对比结果。取值: CONSISTENT:一致。 INCONSISTENT:不一致。 COMPARING:正在对比。 WAITING_FOR_COMPARISON:等待对比。 FAILED_TO_COMPARE:对比失败。 TARGET_DB_NOT_EXIST:目标库不存在。 CAN_NOT_COMPARE:无法对比。

枚举值:

  • CONSISTENT
  • INCONSISTENT
  • COMPARING
  • WAITING_FOR_COMPARISON
  • FAILED_TO_COMPARE
  • TARGET_DB_NOT_EXIST
  • CAN_NOT_COMPARE
表43 objects_compare_detail_infos字段数据结构说明

参数

参数类型

描述

source_db_value

String

源库对比值。

target_db_value

String

目标库对比值。

source_db_name

String

源库名称。

target_db_name

String

目标库名称。

error_message

String

失败原因。

表44 data_compare_task_list字段数据结构说明

参数

参数类型

描述

id

String

对比任务ID。

type

String

对比类型。

start_time

String

开始时间。

end_time

String

结束时间。

status

String

对比任务的状态。取值:

  • RUNNING:运行中。
  • WAITING_FOR_RUNNING:等待启动中。
  • SUCCESSFUL:完成。
  • FAILED:失败。
  • CANCELLED:已取消。
  • TIMEOUT_INTERRUPT:超时中断。
  • FULL_DOING:全量校验中。
  • INCRE_DOING:增量校验中。

枚举值:

  • RUNNING
  • WAITING_FOR_RUNNING
  • SUCCESSFUL
  • FAILED
  • CANCELLED
  • TIMEOUT_INTERRUPT
  • FULL_DOING
  • INCRE_DOING

compute_type

String

对比计算资源。

export_status

String

导出比对结果状态。

report_remain_seconds

String

导出比对结果有效期剩余时间。

compare_job_tag

Map<String,String>

对比任务的标签。

error_msg

String

失败原因。

表45 line_compare_overview_infos字段数据结构说明

参数

参数类型

描述

source_db_name

String

源库库名。

target_db_name

String

目标库库名。

status

String

行对比结果。取值:

  • CONSISTENT:一致。
  • INCONSISTENT:不一致。
  • COMPARING:正在对比。
  • WAITING_FOR_COMPARISON:等待对比。
  • FAILED_TO_COMPARE:对比失败。
  • TARGET_DB_NOT_EXIST:目标库不存在。
  • CAN_NOT_COMPARE:无法对比。

枚举值:

  • CONSISTENT
  • INCONSISTENT
  • COMPARING
  • WAITING_FOR_COMPARISON
  • FAILED_TO_COMPARE
  • TARGET_DB_NOT_EXIST
  • CAN_NOT_COMPARE
表46 line_compare_detail_infos字段数据结构说明

参数

参数类型

描述

source_table_name

String

源库表名称。

source_row_num

String

源库表行数。

target_table_name

String

目标库表名称。

target_row_num

String

目标库表行数。

difference_row_num

String

差异值。

status

String

对比结果。取值:

  • CONSISTENT:一致。
  • INCONSISTENT:不一致。
  • COMPARING:正在对比。
  • WAITING_FOR_COMPARISON:等待对比。
  • FAILED_TO_COMPARE:对比失败。
  • TARGET_DB_NOT_EXIST:目标库不存在。
  • CAN_NOT_COMPARE:无法对比。

枚举值:

  • CONSISTENT
  • INCONSISTENT
  • COMPARING
  • WAITING_FOR_COMPARISON
  • FAILED_TO_COMPARE
  • TARGET_DB_NOT_EXIST
  • CAN_NOT_COMPARE

message

String

信息。

表47 content_compare_overview_infos字段数据结构说明

参数

参数类型

描述

source_db

String

源库库名。

target_db

String

目标库库名。

status

String

对比结果。取值:

  • CONSISTENT:一致。
  • INCONSISTENT:不一致。
  • COMPARING:正在对比。
  • WAITING_FOR_COMPARISON:等待对比。
  • FAILED_TO_COMPARE:对比失败。
  • TARGET_DB_NOT_EXIST:目标库不存在。
  • CAN_NOT_COMPARE:无法对比。

枚举值:

  • CONSISTENT
  • INCONSISTENT
  • COMPARING
  • WAITING_FOR_COMPARISON
  • FAILED_TO_COMPARE
  • TARGET_DB_NOT_EXIST
  • CAN_NOT_COMPARE

compare_result

Boolean

对比结果。

表48 content_compare_detail_infos字段数据结构说明

参数

参数类型

描述

source_db

String

源库库名。

target_db

String

目标库库名。

source_table_name

String

源库表名。

target_table_name

String

目标库表名。

source_row_num

Long

源库表行数。

target_row_num

Long

目标库表行数。

difference_row_num

Long

对比不一致行数。

line_compare_result

Boolean

行对比结果。取值:

  • true:一致。
  • false:不一致。

content_compare_result

Boolean

内容对比结果。取值:

  • true:一致。
  • false:不一致。

message

String

失败原因。

表49 content_diff_detail_info字段数据结构说明

参数

参数类型

描述

count

Long

数量。

target_meta_is_null

Long

对比不一致详情:只有源库存在。

source_meta_is_null

Long

对比不一致详情:只有目标库存在。

source_target_meta_not_null

Long

对比不一致详情:源和目标端均存在。

contents_infos

Array of objects

信息列表。

详情请参见表50

表50 contents_infos字段数据结构说明

参数

参数类型

描述

source_key_value

Array of strings

源库KEY值。

target_key_value

Array of strings

目标库KEY值。

source_select_sql

String

查询源库SQL。

target_select_sql

String

查询目标库SQL。

表51 support_import_file_resp字段数据结构说明

参数

参数类型

描述

file_size

String

文件导入阈值。

previous_select

String

上一次选择对象的方式。

表52 connection_management字段数据结构说明

参数

参数类型

描述

driver_management

Object

驱动管理。

详情请参见表53

表53 driver_management字段数据结构说明

参数

参数类型

描述

driver_name

String

驱动名称。

表54 public_ip_list字段数据结构说明

参数

参数类型

描述

id

String

指定公网IP的ID。

public_ip

String

指定公网IP。

type

String

指定公网IP绑定任务的类型:

  • 主备任务:主是master,备是slave。
  • 其他固定为master。

枚举值:

  • master
  • slave
表55 children字段数据结构说明

参数

参数类型

描述

id

String

子任务ID。

name

String

子任务名称。

状态码: 400

表56 响应Body参数

参数

参数类型

描述

error_code

String

错误码。

最小长度:12

最大长度:12

error_msg

String

错误描述。

最小长度:1

最大长度:512

请求示例

  • 查询任务同步进度。
    https://{endpoint}/v5/054ba152d480d55b2f5dc0069e7ddef0/jobs/c7debc9c-8e09-4a5d-8dd6-cc44f78jb20r?type=progress
  • 查询行对比任务概览
    https://{endpoint}/v5/054ba152d480d55b2f5dc0069e7ddef0/jobs/c7debc9c-8e09-4a5d-8dd6-cc44f78jb20r?type=compare&query_type=overview&compare_type=line_compare&compare_task_id=1994b3e6-15ef-471e-8af1-7e2ed3e85b06&offset=0&limit=10
  • 查询任务详情。
    https://{endpoint}/v5/054ba152d480d55b2f5dc0069e7ddef0/jobs/c7debc9c-8e09-4a5d-8dd6-cc44f78jb20r?type=detail
  • 查询数据对比任务列表
    https://{endpoint}/v5/054ba152d480d55b2f5dc0069e7ddef0/jobs/c7debc9c-8e09-4a5d-8dd6-cc44f78jb20r?type=compare&compare_type=data_compare&query_type=list&limit=10&offset=0
  • 查询同步日志。
    https://{endpoint}/v5/054ba152d480d55b2f5dc0069e7ddef0/jobs/c7debc9c-8e09-4a5d-8dd6-cc44f78jb20r?type=log&offset=0&limit=10
  • 查询测试连接结果。
    https://{endpoint}/v5/054ba152d480d55b2f5dc0069e7ddef0/jobs/c7debc9c-8e09-4a5d-8dd6-cc44f78jb20r?type=network&query_id=669c9c19-99e3-4628-8c90-397136266701

响应示例

状态码: 200

OK

查询任务基本信息(type=detail)

{
  "job" : {
    "id" : "c7debc9c-8e09-4a5d-8dd6-cc44f78jb20r",
    "status" : "CONFIGURATION",
    "create_time" : "2022-11-07T16:15:18Z",
    "base_info" : {
      "name" : "DRS-1234",
      "job_type" : "sync",
      "engine_type" : "oracle-to-gaussdbv5",
      "job_direction" : "up",
      "task_type" : "FULL_INCR_TRANS",
      "net_type" : "eip",
      "charging_mode" : "on_demand",
      "enterprise_project_id" : "0",
      "description" : "",
      "expired_days" : 14,
      "tags" : [ {
        "key" : "test",
        "value" : "test"
      } ]
    },
    "source_endpoint" : [ {
      "db_type" : "oracle",
      "endpoint_type" : "offline",
      "endpoint_role" : "so",
      "endpoint" : {
        "id" : "f59e6118-da89-4fdb-9b98-65f56709928a",
        "endpoint_name" : "oracle",
        "ip" : "10.154.217.239",
        "db_port" : "1521",
        "db_user" : "ORACLE_USER",
        "db_name" : "serviceName.orcl"
      },
      "ssl" : {
        "ssl_link" : false
      }
    } ],
    "target_endpoint" : [ {
      "db_type" : "gaussdbv5",
      "endpoint_type" : "cloud",
      "endpoint_role" : "ta",
      "endpoint" : {
        "id" : "10deb576-8885-473b-a213-4d76e668dc0d",
        "endpoint_name" : "cloud_gaussdbv5",
        "instance_id" : "c2c7579bc09c490b9d8009db715aeb0ain14",
        "db_user" : "root"
      },
      "cloud" : {
        "region" : "cn-north-4",
        "project_id" : "9dc8c0f3f74c4dbb23c29cf0318ee561",
        "az_code" : "cn-north-4a,cn-north-4g,cn-north-4c"
      },
      "vpc" : {
        "vpc_id" : "2cb5d364-ae63-4fbb-85b7-7d59f4a88f8f",
        "subnet_id" : "2cb54324-ae63-4fbb-85b7-7d59f4a88f8f",
        "security_group_id" : "039a3s89-665a-43e2-9b4f-bda7d9ee148d"
      }
    } ],
    "alarm_notify" : {
      "alarm_to_user" : true,
      "topic_urn" : "urn:smn:cn-north-4:f2c2468c3ee7410c862a461ca073d2f2:test",
      "delay_time" : 60
    },
    "speed_limit" : [ {
      "begin" : "16:00",
      "end" : "15:59",
      "speed" : "10"
    } ],
    "policy_config" : {
      "ddl_trans" : false
    },
    "node_info" : {
      "spec" : {
        "node_type" : "medium"
      }
    }
  }
}

状态码: 400

Bad Request

{
  "error_code" : "DRS.10000010",
  "error_msg" : "Job does not exist, please check job ID."
}

状态码

状态码

描述

200

OK

400

Bad Request

错误码

请参见错误码