更新时间:2023-09-13 GMT+08:00

查询对比结果

功能介绍

查询对比结果。

调试

您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。

接口约束

创建对比任务接口调用成功后才能调用。

URI

POST /v3/{project_id}/jobs/query-compare-result

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

租户在某一Region下的Project ID。

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

请求参数

表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参数

参数

是否必选

参数类型

描述

job_id

String

任务id。

object_level_compare_id

String

请求查询结果的对象级对比任务id。

line_compare_id

String

请求查询结果的行对比任务id。

content_compare_id

String

请求查询结果的内容对比任务id。

current_page

Integer

分页查询的当前页码,对查询对比任务的结果生效。

per_page

Integer

分页查询的每页个数,对查询对比任务的结果生效。

响应参数

状态码: 200

表4 响应Body参数

参数

参数类型

描述

job_id

String

任务id。

object_level_compare_results

Object

对象级对比的结果。

详情请参见表5

line_compare_results

Object

行对比的结果。

详情请参见表8

content_compare_results

Object

内容对比的结果。

详情请参见表12

compare_task_list_results

Object

对比任务列表。

详情请参见表18

error_code

String

错误码。

error_msg

String

错误信息。

表5 object_level_compare_results字段数据结构说明

参数

参数类型

描述

compare_task_id

String

对象级对比任务的id。

object_compare_overview

Array of objects

对象对比结果概览。

详情请参见表6

object_compare_details

Map<String,Array<ObjectCompareResultDetails>>

对象对比结果详情。KEY值为对象对比结果概览中的对象类型。

详情请参见表7

error_code

String

错误码。

error_msg

String

错误信息。

表6 object_compare_overview字段数据结构说明

参数

参数类型

描述

object_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-插件

object_compare_result

String

对比结果。

取值:

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

target_count

Integer

该类型的对象在目标库的个数。

source_count

Integer

该类型的对象在源库的个数。

diff_count

Integer

源库和目标库的差异数量。

表7 object_compare_details字段数据结构说明

参数

参数类型

描述

source_db_name

String

源库名称。

target_db_name

String

目标库名称。

source_db_value

String

在源库的值。

target_db_value

String

在目标库的值。

error_message

String

错误信息。

表8 line_compare_results字段数据结构说明

参数

参数类型

描述

compare_task_id

String

行对比任务的id。

line_compare_overview

Array of objects

行对比结果概览。

详情请参见表9

line_compare_overview_count

Integer

行对比结果概览总数。

line_compare_details

Array of objects

行对比结果详情。

详情请参见表10

error_code

String

错误码。

error_msg

String

错误信息。

表9 line_compare_overview字段数据结构说明

参数

参数类型

描述

source_db_name

String

源库名称。

target_db_name

String

目标库名称。

line_compare_result

String

对比结果。

取值:

  • CONSISTENT-一致
  • INCONSISTENT-不一致
  • COMPARING-正在对比
  • WAITING_FOR_COMPARISON-等待对比
  • FAILED_TO_COMPARE-对比失败
  • TARGET_DB_NOT_EXIT-目标库不存在
  • CAN_NOT_COMPARE-无法对比
表10 line_compare_details字段数据结构说明

参数

参数类型

描述

source_db_name

String

源库名称。

line_compare_detail

Array of objects

该库的表的行对比详情。

详情请参见表11

line_compare_detail_count

Integer

该库的行对比结果详情总数。

表11 line_compare_detail字段数据结构说明

参数

参数类型

描述

source_table_name

String

源库的表名称。

target_table_name

String

目标库的表名称。

source_row_num

Integer

源库的表行数。

target_row_num

Integer

目标库的表行数。

diff_row_num

Integer

源库的表和目标库的表的差异值。

line_compare_result

String

对比结果。

取值:

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

message

String

附加信息。

表12 content_compare_results字段数据结构说明

参数

参数类型

描述

compare_task_id

String

内容对比的任务id。

content_compare_overview

Array of objects

内容对比结果概览。

详情请参见表13

content_compare_overview_count

Integer

内容对比结果概览总数。

content_compare_details

Array of objects

内容对比结果详情。

详情请参见表14 ContentCompareResultDetailscontent_compare_details字段数据结构说明

content_compare_diffs

Array of objects

内容对比结果差异。

详情请参见表16

error_code

String

错误码。

error_msg

String

错误信息。

表13 content_compare_overview字段数据结构说明

参数

参数类型

描述

source_db_name

String

源库名称。

target_db_name

String

目标库名称。

content_compare_result

String

对比结果。

取值:

  • CONSISTENT-一致
  • INCONSISTENT-不一致
  • COMPARING-正在对比
  • WAITING_FOR_COMPARISON-等待对比
  • FAILED_TO_COMPARE-对比失败
  • TARGET_DB_NOT_EXIT-目标库不存在
  • CAN_NOT_COMPARE-无法对比
表14 content_compare_details字段数据结构说明

参数

参数类型

描述

source_db_name

String

源库名称。

content_compare_detail

Array of objects

该库的表的内容对比详情。

详情请参见表15

content_compare_detail_count

Integer

内容对比结果详情总数。

content_uncompare_detail

Array of objects

该库的表的内容对比详情(无法对比的表)。

详情请参见表15

content_uncompare_detail_count

Integer

内容对比结果详情总数(无法对比的表)。

表15 content_compare_detail和content_uncompare_detail字段数据结构说明

参数

参数类型

描述

source_db_name

String

源库名称。

target_db_name

String

目标库名称。

source_table_name

String

源库的表名称。

target_table_name

String

目标库的表名称。

source_row_num

Integer

源库的表的行数。

target_row_num

Integer

目标库的表的行数。

diff_row_num

Integer

源库的表和目标库的表的差异值。

line_compare_result

String

行对比结果。

取值:

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

content_compare_result

String

内容对比结果。

取值:

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

message

String

附加信息。

表16 content_compare_diffs字段数据结构说明

参数

参数类型

描述

source_db_name

String

源库名称。

source_table_name

String

源库的表名称。

content_compare_diff

Array of objects

内容对比结果差异。

详情请参见表17

content_compare_diff_count

Integer

内容对比结果差异总数。

表17 content_compare_diff字段数据结构说明

参数

参数类型

描述

target_select_sql

String

查询目标库的SQL。

source_select_sql

String

查询源库的SQL。

source_key_value

Array of strings

源库KEY值列表。

target_key_value

Array of strings

目标库KEY值列表。

表18 compare_task_list_results字段数据结构说明

参数

参数类型

描述

compare_task_list

Array of objects

对比任务列表。

详情请参见表19

compare_task_list_count

Integer

对比任务列表总数。

error_msg

String

错误信息。

error_code

String

错误码。

表19 compare_task_list字段数据结构说明

参数

参数类型

描述

compare_task_id

String

对比任务的id。

compare_type

String

对比任务的类型。

compare_task_status

String

对比任务的状态。

取值:

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

create_time

String

对比开始时间。

end_time

String

对比结束时间。

请求示例

查询对比结果请求示例:

https://{endpoint}/v3/054ba152d480d55b2f5dc0069e7ddef0/jobs/query-compare-result

{
  "job_id" : "94800607-3cd8-4f7d-a340-63a10f8jb502",
  "object_level_compare_id" : "dc1683d9-bdf2-4be9-967f-6ef0953369bc",
  "line_compare_id" : "d45d569d-0a80-4cef-a412-da2a3bcdc9b7",
  "content_compare_id" : "79e206e6-13eb-4556-8cd5-c994c9cbd4e6",
  "current_page" : 1,
  "per_page" : 2
}

响应示例

状态码: 200

OK

{
  "job_id" : "c6e65e6a-de99-4112-9697-7c1923ajb201",
  "object_level_compare_results" : {
    "compare_task_id" : "dc1683d9-bdf2-4be9-967f-6ef0953369bc",
    "object_compare_overview" : [ {
      "object_type" : "DB",
      "object_compare_result" : "CONSISTENT",
      "source_count" : 1,
      "target_count" : 1,
      "diff_count" : 0
    }, {
      "object_type" : "INDEX",
      "object_compare_result" : "CONSISTENT",
      "source_count" : 12,
      "target_count" : 12,
      "diff_count" : 0
    }, {
      "object_type" : "TABLE",
      "object_compare_result" : "CONSISTENT",
      "source_count" : 6,
      "target_count" : 6,
      "diff_count" : 0
    } ],
    "object_compare_details" : {
      "TABLE" : [ {
        "source_db_name" : "may_5",
        "target_db_name" : "may_5",
        "source_db_value" : "add_table_name_0",
        "target_db_value" : "add_table_name_0"
      }, {
        "source_db_name" : "may_5",
        "target_db_name" : "may_5",
        "source_db_value" : "table_name_3",
        "target_db_value" : "table_name_3"
      } ],
      "INDEX" : [ {
        "source_db_name" : "may_5",
        "target_db_name" : "may_5",
        "source_db_value" : "`add_table_name_0`.`PRIMARY`",
        "target_db_value" : "`add_table_name_0`.`PRIMARY`"
      }, {
        "source_db_name" : "may_5",
        "target_db_name" : "may_5",
        "source_db_value" : "`add_table_name_0`.`bak0`",
        "target_db_value" : "`add_table_name_0`.`bak0`"
      } ],
      "DB" : [ {
        "source_db_name" : "may_5",
        "target_db_name" : "may_5",
        "source_db_value" : "may_5",
        "target_db_value" : "may_5"
      } ]
    }
  },
  "line_compare_results" : {
    "compare_task_id" : "d45d569d-0a80-4cef-a412-da2a3bcdc9b7",
    "line_compare_overview" : [ {
      "source_db_name" : "may_5",
      "target_db_name" : "may_5",
      "line_compare_result" : "INCONSISTENT"
    } ],
    "line_compare_overview_count" : 1,
    "line_compare_details" : [ {
      "source_db_name" : "may_5",
      "line_compare_detail" : [ {
        "source_table_name" : "table_name_0",
        "source_row_num" : 0,
        "target_table_name" : "table_name_0",
        "target_row_num" : 1,
        "diff_row_num" : 1,
        "line_compare_result" : "INCONSISTENT"
      }, {
        "source_table_name" : "table_name_1",
        "source_row_num" : 0,
        "target_table_name" : "table_name_1",
        "target_row_num" : 0,
        "diff_row_num" : 0,
        "line_compare_result" : "CONSISTENT"
      } ],
      "line_compare_detail_count" : 2
    } ]
  },
  "content_compare_results" : {
    "compare_task_id" : "79e206e6-13eb-4556-8cd5-c994c9cbd4e6",
    "content_compare_overview" : [ {
      "source_db_name" : "may_5",
      "target_db_name" : "may_5",
      "content_compare_result" : "INCONSISTENT"
    } ],
    "content_compare_overview_count" : 1,
    "content_compare_details" : [ {
      "source_db_name" : "may_5",
      "content_compare_detail" : [ {
        "source_db_name" : "may_5",
        "target_db_name" : "may_5",
        "source_table_name" : "table_name_0",
        "target_table_name" : "table_name_0",
        "source_row_num" : 0,
        "target_row_num" : 1,
        "diff_row_num" : 1,
        "line_compare_result" : "INCONSISTENT",
        "content_compare_result" : "INCONSISTENT"
      }, {
        "source_db_name" : "may_5",
        "target_db_name" : "may_5",
        "source_table_name" : "table_name_1",
        "target_table_name" : "table_name_1",
        "source_row_num" : 0,
        "target_row_num" : 0,
        "diff_row_num" : 0,
        "line_compare_result" : "CONSISTENT",
        "content_compare_result" : "CONSISTENT"
      } ],
      "content_compare_detail_count" : 2,
      "content_uncompare_detail" : [ ],
      "content_uncompare_detail_count" : 0
    } ],
    "content_compare_diffs" : [ {
      "source_db_name" : "may_5",
      "source_table_name" : "table_name_0",
      "content_compare_diff" : [ {
        "target_key_value" : [ "5" ],
        "target_select_sql" : "select * from may_5.table_name_0 where id = 5"
      } ],
      "content_compare_diff_count" : 1
    } ]
  },
  "compare_task_list_results" : {
    "compare_task_list_count" : 8,
    "compare_task_list" : [ {
      "compare_task_id" : "08cad1f8-9de2-42fa-b8ce-6c36daf730f6",
      "compare_type" : "contents",
      "compare_task_status" : "SUCCESSFUL",
      "create_time" : "1607766111833",
      "end_time" : "1607766310812"
    }, {
      "compare_task_id" : "dc1683d9-bdf2-4be9-967f-6ef0953369bc",
      "compare_type" : "object_comparison",
      "compare_task_status" : "SUCCESSFUL",
      "create_time" : "1607766110535",
      "end_time" : "1607766127373"
    } ]
  }
}

状态码

状态码

描述

200

OK

400

Bad Request

错误码

请参见错误码