任务预检(基础)
接口描述
任务信息基础校验,包括可连接性、基本参数、权限等
接口地址
/cloudcanal/console/api/v1/openapi/datajob/precheckbasic
请求方式
POST
请求参数
| 参数名称 | 参数说明 | 请求类型 | 是否必须 | 数据类型 |
|---|---|---|---|---|
| clusterId | 链接数据源的集群id | body | 是 | long |
| srcDsId | 源端数据源id | body | 是 | long |
| srcHostType | 源数据源host类型 PRIVATE PUBLIC | body | 是 | String |
| srcSchema | 源端库表描述,见示例 | body | 是 | String |
| dstDsId | 目标数据源id | body | 是 | long |
| dstHostType | 目标数据源host类型 PRIVATE PUBLIC | body | 是 | String |
| dstSchema | 目标库表描述,可由 srcSchema 配合 mappingDef 计算得出,可为空 | body | 否 | String |
| mappingDef | 库表映射,见示例 | body | 是 | String |
| jobType | 任务类型,可通过 获取任务类型 接口查询获取 | body | 是 | String |
| initialSync | 如果是数据同步任务,是否需要初始化数据(全量迁移) | body | 否 | Boolean |
| shortTermNum | 如果有短期同步,持续多少天 | body | 否 | int |
| shortTermSync | 如果是数据迁移任务,是否需要短期同步 | body | 否 | Boolean |
| specId | 规格id | body | 是 | int |
| fullPeriod | 是否是周期性全量迁移 | body | 否 | Boolean |
| fullPeriodCronExpr | 周期性全量迁移 CronTab 表达式 | body | 否 | String |
| autoStart | 是否自动启动 | body | 否 | Boolean |
| checkOnce | 增量追上后是否做一次全量数据校验 | body | 否 | Boolean |
| checkPeriod | 是否是周期性校验 | body | 否 | Boolean |
| checkPeriodCronExpr | 周期性校验 CronTab 表达式 | body | 否 | String |
srcSchema 说明 (MySQL)
不同数据源 schema 存在不同的字段描述,需要更多源端数据源可找产品团队咨询
| 参数名称 | 参数说明 | 请求类型 | 是否必须 | 数据类型 |
|---|---|---|---|---|
| db | 映射方法 DB_DB SCHEMA_SCHEMA TABLE_TABLE COLUMN_COLUMN DB_SCHEMA SCHEMA_DB DB_TOPIC TABLE_TOPIC TOPIC_TABLE TOPIC_INDEX ANY_DB TABLE_INDEX TABLE_KEYPREFIX | body | 是 | String |
| dbPattern | 嵌套多层映射关系,根据 method 或 parent 为空进行识别 | body | 否 | String |
| tables | 该数据库所拥有的表 | body | 是 | String |
| targetAutoCreate | 对端是否需要自动创建 | body | 是 | String |
| inBlackList | 是否在黑名单(不同步或者迁移数据) | body | 是 | String |
[
{
"db": "dingtax",
"dbPattern": "",
"tables": [],
"targetAutoCreate": false,
"inBlackList": false
}
]
mappingDef 说明
mappingDef 为一个数组,每一个组代表一种映射
| 参数名称 | 参数说明 | 请求类型 | 是否必须 | 数据类型 |
|---|---|---|---|---|
| method | 映射方法 DB_DB SCHEMA_SCHEMA TABLE_TABLE COLUMN_COLUMN DB_SCHEMA SCHEMA_DB DB_TOPIC TABLE_TOPIC TOPIC_TABLE TOPIC_INDEX ANY_DB TABLE_INDEX TABLE_KEYPREFIX | body | 是 | String |
| serializeMapping | 嵌套多层映射关系,根据 method 或 parent 为空进行识别 | body | 否 | String |
| serializeAutoGenRules | 指定映射规则 | body | 是 | String |
| commonGenRule | 通用映射规则 | body | 是 | String |
mappingDef 示例(MySQL -> PostgreSQL)
[
{
"method": "DB_SCHEMA",
"serializeMapping": {
"{\"value\":\"dingtax\"}": "{\"parent\":{\"value\":\"dingtax_target\"},\"value\":\"public\"}"
},
"serializeAutoGenRules": {},
"commonGenRule": "MIRROR"
},
{
"serializeMapping": {},
"method": "TABLE_TABLE",
"serializeAutoGenRules": {},
"commonGenRule": "MIRROR"
},
{
"method": "COLUMN_COLUMN",
"serializeMapping": {},
"serializeAutoGenRules": {},
"commonGenRule": "MIRROR"
}
]
公共响应结果
| 参数名称 | 参数说明 | 类型(java) | 不为空 |
|---|---|---|---|
| code | 1:成功 0:失败 | string | 是 |
| data | object | 否 | |
| msg | string | 否 | |
| requestId | string | 是 |