华为云用户手册

  • 响应示例 状态码: 200 OK { "status": "success" } 状态码: 202 Accepted { "query_id" : "c5c1ffb3-c902-4b31-a606-dfa1231831f9" } 状态码: 400 Bad Request { "error_code" : "DRS.10000010", "error_msg" : "Job does not exist, please check job id." }
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 interval_hour Integer 间隔时间。 period String 对比时间。 begin_time String 对比开始时间。 end_time String 对比结束时间。 compare_type Array of strings 对比类型。 object:对象对比 lines:行对比 account:用户对比 status String 对比策略状态。 OPEN:开启 CLOSED:关闭,没有设置对比策略 NO_SUPPORT:当前无数据 枚举值: OPEN CLOSED NO_SUPPORT next_compare_time String 下次对比时间,UTC时间,例如:2023-06-12T08:00:00Z compare_policy String 对比策略。 normal:普通对比 manyToOne:多对一对比 状态码: 400 表4 响应Body参数 参数 参数类型 描述 error_code String 错误码。 最小长度:12 最大长度:12 error_msg String 错误描述。 最小长度:1 最大长度:512
  • 请求参数 表2 请求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 OK { "period": "* * 1,2,3,4,5,6,7", "status": "OPEN", "begin_time": "08:00:00", "end_time": "10:00:00", "compare_type": [ "lines", "account", "object_comparison" ], "next_compare_time": "2023-06-12T08:00:00Z", "compare_policy": "normal" } 状态码: 400 Bad Request { "error_code": "DRS.M05003", "error_msg": "Task information not found." }
  • 请求示例 DDS实时迁移任务,目标库为DDS实例测试连接 https://{endpoint}/v3/054ba152d480d55b2f5dc0069e7ddef0/jobs/batch-connection { "jobs" : [ { "id" : "140b5236-88ad-43c8-811c-1268453jb101", "ip" : "192.168.4.66:8635,192.168.4.83:8635", "net_type" : "eip", "db_type" : "mongodb", "db_port" : 0, "db_user" : "root", "db_password" : "********", "inst_id" : "3cadd5a0ef724f55ac7fa5bcb5f4fc5fin02", "project_id" : "0549a6a31000d4e82fd1c00c3d6f2d76", "region" : "cn-xianhz-1", "end_point_type" : "ta" } ] } MySQL实时迁移任务,目标库为RDS for MySQL测试连接 https://{endpoint}/v3/054ba152d480d55b2f5dc0069e7ddef0/jobs/batch-connection { "jobs" : [ { "id" : "140b5236-88ad-43c8-811c-1268453jb101", "ip" : "192.168.0.131", "net_type" : "eip", "db_type" : "mysql", "db_port" : 3306, "db_user" : "root", "db_password" : "********", "inst_id" : "e05a3679efe241d8b5dee80b17c1a863in01", "project_id" : "054ba152d480d55b2f5dc0069e7ddef0", "region" : "cn-xianhz-1", "end_point_type" : "ta" } ] } MySQL实时迁移任务,源库为非RDS实例测试连接 https://{endpoint}/v3/054ba152d480d55b2f5dc0069e7ddef0/jobs/batch-connection { "jobs" : [ { "id" : "140b5236-88ad-43c8-811c-1268453jb101", "ip" : "192.168.0.27", "net_type" : "eip", "db_type" : "mysql", "db_port" : 3306, "db_user" : "root", "db_password" : "********", "ssl_link" : false, "end_point_type" : "so" } ] }
  • 响应参数 状态码: 200 表6 响应Body参数 参数 参数类型 描述 results Array of objects 批量测试连接响应体集合。 详情请参见表7。 count Integer 总记录数。 表7 results字段数据结构说明 参数 参数类型 描述 id String 任务ID。 status String 测试结果。取值: success:表示成功。 failed:表示失败。 error_code String 错误码。 error_msg String 错误信息。 success Boolean 是否成功。
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 指定类型为application/json。 缺省值:application/json X-Auth-Token 是 String 从IAM服务获取的用户Token。 X-Language 否 String 请求语言类型。 缺省值:en-us 取值: en-us zh-cn 表3 请求Body参数 参数 是否必选 参数类型 描述 jobs 是 Array of objects 批量测试连接请求列表。 详情请参见表4。 表4 jobs字段数据结构说明 参数 是否必选 参数类型 描述 id 是 String DRS任务ID,可以从任务列表或者任务详情页面获取。 net_type 是 String 网络类型。取值: vpn vpc eip db_type 是 String 数据库类型。取值: mysql:MySQL mongodb:MongoDB gaussdbv5:GaussDB分布式版 taurus:GaussDB(for MySQL) gaussdbv5ha:GaussDB主备版 kafka:Kafka postgresql:PostgreSQL ip 是 String 数据库IP。 db_port 否 Integer 数据库端口,Mongo、DDS必填为0。 inst_id 否 String 数据库实例ID。数据库为云上实例时,比如RDS实例时必填。 db_user 是 String 数据库账号。 db_password 是 String 数据库密码。 ssl_link 否 Boolean 是否SSL安全连接,该参数为true时,需填写SSL证书相关信息参数。 ssl_cert_key 否 String SSL证书内容,获取SSL证书后将内容通过BASE64加密后所得的字符串,ssl_link为true时必填。 ssl_cert_name 否 String SSL证书名字,ssl_link为true时必填。 ssl_cert_check_sum 否 String SSL证书内容checksum值,获取SSL证书后将内容经过SHA256加密后的值,后端校验,ssl_link为true时必填。 ssl_cert_password 否 String SSL证书密码,证书文件后缀为.p12,需要密码。 vpc_id 否 String 实例所在虚拟私有云ID,数据库为云上实例时,比如RDS实例时必填。 subnet_id 否 String 实例所在子网ID,数据库为云上实例时,比如RDS实例时必填。 end_point_type 是 String 源库:so,目标库:ta。 缺省值:so 取值: so ta region 否 String 数据库实例所在Region,数据库为云上实例时,比如RDS实例时必填。 project_id 否 String 用户所处Region的Project ID。 db_name 否 String 数据库用户名,DDS的账号认证数据库,Oracle的serviceName。 kafka_security_config 否 Object Kafka安全认证相关,非安全认证不需要此参数。 详情请参见表5。 表5 kafka_security_config字段数据结构说明 参数 是否必选 参数类型 描述 type 否 String 安全协议,安全认证时必填,对应Kafka字段:security.protocol。 PLAINTEXT:无安全认证方式,仅需输入IP和端口进行连接。 SASL_PLAINTEXT:使用SASL机制连接Kafka,需要设置SASL相关配置。 SSL:使用SSL加密方式连接Kafka,需要设置SSL相关配置。 SASL_SSL:使用SASL及SSL加密认证方式,需要设置SSL及SASL相关参数配置信息。 枚举值: PLAINTEXT SASL_PLAINTEXT SASL_SSL SSL trust_store_key_name 否 String 证书名称,安全协议为SSL、SASL_SSL时必填。 trust_store_key 否 String 安全证书base64转码后的值,安全协议为SSL、SASL_SSL时必填。 trust_store_password 否 String 证书密码,使用安全认证时必填。 endpoint_algorithm 否 String 主机名端点识别算法,指定通过服务端证书验证服务端主机名的端点识别算法,不填表示禁用主机名验证。对应Kafka字段:ssl.endpoint.identification.algorithm sasl_mechanism 否 String SASL机制,用于客户端连接的SASL机制,认证类型为SASL_PLAINTEXT、SASL_SSL时必填。对应Kafka字段:sasl.mechanism,支持以下四项,取值: GSSAPI PLAIN SCRAM-SHA-256 SCRAM-SHA-512 delegation_tokens 否 Boolean 是否为委托令牌鉴权,安全协议为SASL_SSL和SASL_PLAINTEXT时,SASL机制选择“SCRAM-SHA-256”或者“SCRAM-SHA-512”时生效。 enable_key_store 否 Boolean 是否开启SSL双向认证。 key_store_key 否 String Keystore证书,开启SSL双向认证时需要。 key_store_key_name 否 String Keystore证书名称,开启SSL双向认证时需要。 key_store_password 否 String Keystore证书密码,证书设置了密码时需要。对应Kafka字段:ssl.keystore.password set_private_key_password 否 Boolean 是否设置Keystore私钥密码,默认为false。 key_password 否 String Keystore私钥密码,开启SSL双向认证时,set_private_key_password为true时必填。对应Kafka字段:ssl.key.password。
  • 请求参数 表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 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." }
  • 请求示例 查询任务同步进度。 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
  • 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
  • 响应示例 状态码: 200 OK { "status" : "SUCCESSFUL", "create_time" : "2024-04-02T06:17:56Z", "compare_result" : [ { "type" : "DB", "status" : 2, "source_count" : 2, "target_count" : 2 }, { "type" : "TABLE", "status" : 2, "source_count" : 2, "target_count" : 2 }, { "type" : "INDEX", "status" : 2, "source_count" : 2, "target_count" : 2 }, { "type" : "TABLE_COLLATION", "status" : 2, "source_count" : 2, "target_count" : 2 } ], "start_time" : "2024-04-02T06:17:49Z", "export_status" : "INIT", "report_remain_seconds" : -1, "compare_job_id" : "bfcdc4d9-f0ae-4108-be42-6974d60cd1d2" } 状态码: 400 Bad Request { "error_code" : "DRS.10000010", "error_msg" : "Task not found. Check the task ID." }
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 create_time String 对比任务创建时间,UTC时间,例如:2024-04-09T07:00:57Z。 start_time String 对比任务开始时间,UTC时间,例如:2024-04-09T07:00:57Z。 status String 对比任务状态。 取值: RUNNING:运行中。 WAITING_FOR_RUNNING:等待启动中。 SUCCESSFUL:完成。 FAILED:失败。 CANCELLED:已取消。 TIMEOUT_INTERRUPT:超时中断。 FULL_DOING:全量校验中。 INCRE_DOING:增量校验中。 export_status String 生成对比结果报告文件的状态: INIT:初始状态。 EXPORTING:对比结果导出中。 EXPORT_COMPLETE:对比结果导出完成。 EXPORT_COMMON_FAILED:对比结果导出失败。 report_remain_seconds Long 对比结果报告文件有效期剩余时间,单位为秒,报告未生成时返回-1。 compare_job_id String 对比任务ID。 error_msg String 失败原因。 compare_result Array of objects 对比结果。 详情请参见表4。 表4 compare_result字段数据结构说明 参数 参数类型 描述 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:插件。 source_count Long 该类型的对象在源库的个数。 target_count Long 该类型的对象在目标库的个数。 status Integer 对比结果,0为不一致,2为一致,3为未完成。
  • 响应示例 状态码: 200 OK { "count" : 1, "compare_detail" : [ { "source_db_value" : "tb1", "target_db_value" : "tb1", "source_db_name" : "db1", "target_db_name" : "db1", "status" : 2 } ] } 状态码: 400 Bad Request { "error_code" : "DRS.10000010", "error_msg" : "Task not found. Check the task ID." }
  • URI GET /v3/{project_id}/jobs/{job_id}/object/compare/{compare_type} 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 租户在某一Region下的Project ID。 获取方法请参见获取项目ID。 job_id 是 String 任务ID。 compare_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:表的排序规则。 表2 Query参数 参数 是否必选 参数类型 描述 compare_job_id 否 String 对比任务ID,不填写时默认返回最新的对比任务信息。 limit 否 Integer 每页显示的条目数量,最大值1000。 最小值:1 最大值:1000 缺省值:1000 offset 否 Integer 偏移量,表示从此偏移量开始查询, offset大于等于0。 缺省值:0
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 count Integer 对比数量。 compare_detail Array of objects 对象级对比详情。 详情请参见表5。 表5 compare_detail字段数据结构说明 参数 参数类型 描述 source_db_name String 源库名称。 target_db_name String 目标库名称。 source_db_value String 在源库的值。 target_db_value String 在目标库的值。 status Integer 对比结果,0为不一致,2为一致,3为未完成。 error_message String 错误信息。
  • 响应示例 状态码: 200 OK { "compare_result" : [ { "type" : "DB", "status" : 2, "source_count" : 1, "target_count" : 1 }, { "type" : "INDEX", "status" : 2, "source_count" : 2, "target_count" : 2 }, { "type" : "TABLE", "status" : 2, "source_count" : 2, "target_count" : 2 }, { "type" : "TABLE_COLLATION", "status" : 2, "source_count" : 2, "target_count" : 2 } ] } 状态码: 400 Bad Request { "error_code" : "DRS.10000001", "error_msg" : "Failed." }
  • URI GET /v5/{project_id}/jobs/{job_id}/health-compare-jobs/object/{compare_job_id} 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 租户在某一Region下的Project ID。 获取方法请参见获取项目ID。 job_id 是 String 任务ID。 compare_job_id 是 String 对比任务ID。
  • 请求参数 表2 请求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 表3 响应Body参数 参数 参数类型 描述 compare_result Array of objects 健康对比对象级对比结果。 详情请参见表4 表4 compare_result参数说明 参数 参数类型 描述 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:插件。 source_count Long 源数量。 target_count Long 目标数量。 status Integer 对比结果: 0:不一致。 2:一致。 3:未完成。 状态码: 400 表5 响应Body参数 参数 参数类型 描述 error_code String 错误码。 最小长度:12 最大长度:12 error_msg String 错误描述。 最小长度:1 最大长度:512
  • 响应示例 状态码: 200 OK { "count" : 1, "target_meta_is_null" : 0, "source_meta_is_null" : 0, "source_target_meta_not_null" : 1, "contents_infos" : [ { "source_key_value" : [ "id=5" ], "target_key_value" : [ "id=5" ], "select_sql" : "select * from db1.tb1 where id=5", "target_select_sql" : "select * from db1.tb1 where id=5" } ] } 状态码: 400 Bad Request { "error_code" : "DRS.10000010", "error_msg" : "Task not found. Check the task ID." }
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 count Long 总数量。 target_meta_is_null Long 对比不一致详情数量:只有源库存在。 source_meta_is_null Long 对比不一致详情数量:只有目标库存在。 source_target_meta_not_null Long 对比不一致详情数量:源和目标端均存在。 contents_infos Array of objects 详细内容信息列表。 详情请参见表5。 表5 contents_infos字段数据结构说明 参数 参数类型 描述 source_key_value Array of strings 源库KEY值列表。 target_key_value Array of strings 目标库KEY值列表。 select_sql String 查询源库的SQL。 target_select_sql String 查询目标库的SQL。
  • URI GET /v3/{project_id}/jobs/{job_id}/compare/{compare_job_id}/content-difference 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 租户在某一Region下的Project ID。 获取方法请参见获取项目ID。 job_id 是 String 任务ID。 compare_job_id 是 String 对比任务ID。 表2 Query参数 参数 是否必选 参数类型 描述 table_name 否 String 表名。 db_name 否 String 源库名称。 limit 否 Integer 每页显示的条目数量,最大值1000。 最小值:1 最大值:1000 缺省值:1000 offset 否 Integer 偏移量,表示从此偏移量开始查询, offset大于等于0。 缺省值:0
  • 请求参数 表2 请求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 表3 响应Body参数 参数 参数类型 描述 id String 对比任务ID。 type String 对比类型: object_comparison:对象对比。 lines:行对比。 account:用户对比。 start_time String 开始时间,UTC时间,例如:2024-04-03T08:00:01Z。 end_time String 结束时间,UTC时间,例如:2024-04-03T08:00:01Z。 status String 对比任务的状态。取值: RUNNING:运行中。 WAITING_FOR_RUNNING:等待启动中。 SUCCESSFUL:完成。 FAILED:失败。 CANCELLED:已取消。 TIMEOUT_INTERRUPT:超时中断。 FULL_DOING:全量校验中。 INCRE_DOING:增量校验中。 job_name String 任务名称。 状态码: 400 表4 响应Body参数 参数 参数类型 描述 error_code String 错误码。 最小长度:12 最大长度:12 error_msg String 错误描述。 最小长度:1 最大长度:512
  • 响应示例 状态码: 200 OK { "id" : "3bca29b5-419a-409d-a8d1-d892aa12bf53", "type" : "lines,object_comparison", "status" : "SUCCESSFUL", "start_time" : "2024-04-07T10:00:01Z", "end_time" : "2024-04-07T10:00:09Z", "job_name" : "DRS-7754" } 状态码: 400 Bad Request { "error_code" : "DRS.10000001", "error_msg" : "Failed." }
  • URI GET /v5/{project_id}/jobs/{job_id}/health-compare-jobs/{compare_job_id} 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 租户在某一Region下的Project ID。 获取方法请参见获取项目ID。 job_id 是 String 任务ID。 compare_job_id 是 String 对比任务ID。
  • 请求示例 打开周期性对比,策略为每天对比,生效时间段为UTC时间的00:00:00到04:00:00,北京时间(UTC+08:00)08:00:00到12:00:00,对比类型为行数对比 https://{endpoint}/v5/5237e10fe9aa4ad5b16b6a5245248314/jobs/163b98e8-6088-46c3-8b86-c18fea6jb502/compare-policy { "action" : "open", "begin_time" : "00:00:00", "compare_policy" : "normal", "compare_type" : [ "lines" ], "end_time" : "04:00:00", "period" : "* * 1,2,3,4,5,6,7" } 打开周期性对比,策略为每周周一、周三、周五对比,生效时间段为UTC时间的00:00:00到09:00:00,北京时间(UTC+08:00)08:00:00到17:00:00,对比类型为行数和对象对比 https://{endpoint}/v5/5237e10fe9aa4ad5b16b6a5245248314/jobs/163b98e8-6088-46c3-8b86-c18fea6jb502/compare-policy { "action" : "open", "begin_time" : "00:00:00", "compare_type" : [ "lines", "object_comparison" ], "end_time" : "09:00:00", "period" : "* * 1,3,5" } 关闭周期性对比 https://{endpoint}/v5/5237e10fe9aa4ad5b16b6a5245248314/jobs/163b98e8-6088-46c3-8b86-c18fea6jb502/compare-policy { "action" : "close" } 打开周期性对比,策略为按小时对比,生效时间段为UTC时间00:00:00到04:00:00,北京时间(UTC+08:00)08:00:00到12:00:00,间隔1小时对比一次,对比类型为行数和对象对比 https://{endpoint}/v5/5237e10fe9aa4ad5b16b6a5245248314/jobs/163b98e8-6088-46c3-8b86-c18fea6jb502/compare-policy { "action" : "open", "begin_time" : "00:00:00", "compare_policy" : "normal", "compare_type" : [ "lines", "object_comparison" ], "end_time" : "04:00:00", "period" : "* * 1,2,3,4,5,6,7", "interval_hour" : 1 }
  • 请求参数 表2 请求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 表3 请求Body参数 参数 是否必选 参数类型 描述 action 是 String 对比策略开关。 open close period 否 String 对比策略周期。 每周对比:格式示例:“* * 1,3,5” ,其中“1,3,5”对应星期一、星期三、星期五,根据实际填写。 每天对比:固定填写“* * 1,2,3,4,5,6,7”。 按小时对比:固定填写“* * 1,2,3,4,5,6,7”。 begin_time 否 String 对比策略生效开始时间,UTC时间,24小时制,时间格式HH:mm:ss,例如:00:00:00,表示UTC时间的00:00:00,北京时间(UTC+08:00)的08:00:00。 end_time 否 String 对比策略生效结束时间,UTC时间,24小时制,时间格式HH:mm:ss,例如:04:00:00,表示UTC时间的04:00:00,北京时间(UTC+08:00)的12:00:00。 compare_type 否 Array of strings 对比类型列表: object_comparison:对象对比。 lines:行对比。 account:用户对比。 compare_policy 否 String 对比策略: normal:普通对比。 manyToOne:多对一对比。 interval_hour 否 Integer 间隔时间,按小时对比时填写,表示每隔多久执行一次对比,单位是小时。
  • 请求参数 表3 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 指定类型为application/json。 缺省值:application/json X-Auth-Token 是 String 从IAM服务获取的用户Token。 X-Language 否 String 请求语言类型。 缺省值:en-us 枚举值: en-us zh-cn Region 否 String 区域ID,例如:cn-north-4。 表4 请求Body参数 参数 是否必选 参数类型 描述 compare_type 是 String 对比任务类型: contents: 内容对比。 lines:行数对比。 random:抽样对比。 objects_comparison:对象对比。 compare_job_id 否 String 对比任务的ID,内容对比、抽样对比、行数对比场景必填。 time_zone 否 String 时区,如GMT+08:00,用于生成当前时间标识,拼接到文件名称中。
共100000条