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

创建数据级表对比任务

功能介绍

创建数据级表对比任务。

URI

POST /v3/{project_id}/jobs/{job_id}/table/compare

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

租户在某一Region下的Project ID。

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

job_id

String

任务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参数

参数

是否必选

参数类型

描述

type

String

对比类型。

  • lines:行数对比
  • contents:内容对比
  • random:抽样对比,当前仅支持GaussDB分布式到GaussDB分布、GaussDB分布式到PostgreSQL、GaussDB主备到PostgreSQL同步链路。

start_time

String

对比任务启动时间,时间戳格式,取值为空代表立即启动。

compare_mode

String

数据级对比模式,取值为空时需要在compare_object或者compare_object_with_token传对象信息,quick_comparison-快速对比。 取值:quick_comparison

缺省值:quick_comparison

compare_object

Array of objects

数据级对比的对象。

详情请参见表4

options

Map<String,String>

对比配置项,key-value形式。 内容对比支持以下配置项:

  • 对比方式配置,key:contentCompareType,value:dynamic表示动态对比,static表示静态对比。
  • lob字段对比类型配置,key:lobCompare,value:ignore表示忽略,length表示长度对比。

行数对比支持以下配置项:

  • 对比策略配置,多表归一情况下适用,key:comparePolicy,value:normal表示正常对比,manyToOne表示多对一对比。

compare_object_with_token

Array of objects

数据级对比的对象(Cassandra灾备专用,带token信息)。

详情请参见表5

compare_task_num

Integer

对比任务线程数量,当前仅cloudDataGuard-cassandra和cloudDataGuard-gausscassandra-to-gausscassandra链路生效。

compare_transformation_infos

Array of objects

过滤数据信息。

详情请参见表7

proportion_value

Double

抽样比例,对比类型为抽样对比时填写。

表4 compare_object字段数据结构说明

参数

是否必选

参数类型

描述

db_name

String

库名。

table_name

Array of strings

该库下的表名列表。

表5 compare_object_with_token字段数据结构说明

参数

是否必选

参数类型

描述

db_name

String

库名。

table_name_with_token

Array of objects

该库下的表信息列表(带token)。

详情请参见表6

表6 table_name_with_token字段数据结构说明

参数

是否必选

参数类型

描述

table_name

String

表名。

min_token

String

该表的min token。

max_token

String

该表的max token。

表7 compare_transformation_infos字段数据结构说明

参数

是否必选

参数类型

描述

object_info

Array of objects

对象信息。

详情请参见表8

transformation_info

Object

数据过滤信息。

详情请参见表9

表8 object_info字段数据结构说明

参数

是否必选

参数类型

描述

id

String

  • 两层数据库场景: 数据库名称和数据库表名称,例如格式为t_auto_db---users,其中t_auto_db为数据库名称,users为表名称。
  • 三层数据库场景: 数据库名称、数据库schema名称、数据库表名称,例如格式为t_auto_db---schema1---users,其中t_auto_db为数据库名称,schema1为数据库schema名称,users为表名称。
表9 transformation_info字段数据结构说明

参数

是否必选

参数类型

描述

transformation_type

String

加工规则,值为contentConditionalFilter。

value

String

过滤条件,值为sql条件语句,例如id>100,长度限制256。

响应参数

状态码: 202

表10 响应Body参数

参数

参数类型

描述

id

String

对比任务ID

请求示例

  • 创建数据级表抽样对比任务
    https://{endpoint}/v3/054ba152d480d55b2f5dc0069e7ddef0/jobs/{job_id}/table/compare
    
    {
      "compare_object" : [ {
        "db_name" : "t_auto_db",
        "table_name" : [ ]
      } ],
      "options" : { },
      "proportion_value" : 20.1,
      "type" : "random"
    }
  • 创建数据级表内容动态对比任务
    https://{endpoint}/v3/054ba152d480d55b2f5dc0069e7ddef0/jobs/{job_id}/table/compare
    
    {
      "compare_object" : [ {
        "db_name" : "t_auto_db",
        "table_name" : [ ]
      } ],
      "options" : {
        "contentCompareType" : "dynamic"
      },
      "start_time" : "1809366237000",
      "type" : "contents"
    }
  • 创建带有数据过滤的行数对比任务。
    https://{endpoint}/v3/054ba152d480d55b2f5dc0069e7ddef0/jobs/{job_id}/table/compare
    
    {
      "compare_object" : [ ],
      "compare_transformation_infos" : [ {
        "object_info" : [ {
          "id" : "t_auto_db-*-*-test-*-*-users"
        } ],
        "transformation_info" : {
          "transformationType" : "contentConditionalFilter",
          "value" : "id>100"
        }
      } ],
      "type" : "lines"
    }

响应示例

状态码: 202

OK

{
  "id" : "6a0deb4a-ce39-449b-8c49-e0eed954c155"
}

状态码: 400

Bad Request

{
  "error_code" : "DRS.M00202",
  "error_msg" : "The value of jobId is invalid."
}

状态码

状态码

描述

202

OK

400

Bad Request

错误码

请参见错误码