一类节点--数据传输服务dts-配置DTS任务
接口功能介绍
用户购买数据传输服务DTS实例后,通过配置任务的OpenApi接口,进行任务配置。
接口约束
无
URI
POST /dts/v1/open-api/instance/create-job
路径参数
无
Query参数
无
请求参数
请求头header参数
参数 | 是否必填 | 参数类型 | 说明 | 示例 | 下级对象 |
---|---|---|---|---|---|
regionId | 是 | String | 资源池id | 200000001790 |
请求体body参数
参数 | 是否必填 | 参数类型 | 说明 | 示例 | 下级对象 |
---|---|---|---|---|---|
prodInstId | 是 | String | 实例id | '037633537988242728' | |
binlogInfo | 否 | Object | MySQL的位点信息,用于源库为MySQL且从指定位点开始同步的场景。 注意:该参数只用于增量同步场景,若配置,则jobConfig内的allSync参数需为false |
binlogInfo | |
ddlSync | 否 | String | 是否在增量阶段同步DDL,可选值'true', 'false',默认值为'true' | 'true' | |
jobConfig | 是 | Object | 任务计划信息,包含任务名,是否增量迁移、全量同步、增量同步 | jobConfig | |
dataSourceConfig | 是 | Array of Objects | 源库和目标库信息,size固定为2,子元素需包含数据库类型、角色 | dataSourceConfig | |
objectList | 是 | Array of Objects | 待迁移/同步对象的映射组,每一组映射表示源库到目标库的一组对象关联 | objectList |
表 binlogInfo
参数 | 是否必填 | 参数类型 | 说明 | 示例 | 下级对象 |
---|---|---|---|---|---|
gtids | 否 | String | gtid信息,其中:1、gtids,2、file和pos。 为二选一关系,如果pos和gtids的参数均有值,则使用gtids |
'59da619f-d473-11ed-a18b-000000f0aef3:1-19068236' | |
file | 否 | String | MySQL的binlog文件名 | 'mysql-bin.000001' | |
pos | 否 | String | binlog文件中的位点,与file参数一起使用 | '491043868' |
表 jobConfig
参数 | 是否必填 | 参数类型 | 说明 | 示例 | 下级对象 |
---|---|---|---|---|---|
name | 是 | String | 任务名 | 'openAPI_测试' | |
type | 是 | String | 任务类型,可选'MIGRATE', 'SYNC', 分别表示迁移、同步 | 'MIGRATE' | |
structMig | 是 | String | 是否开启表结构迁移,可选值'true', 'false' | 'true' | |
allSync | 是 | String | 是否开启全量同步,可选值'true', 'false' | 'true' | |
incSync | 是 | String | 是否开启增量同步,可选值'true', 'false' | 'true' | |
bilateralSync | 否 | Boolean | 是否为双向同步,可选值true和false | false | |
mainDirection | 否 | String | 双向同步主方向,FORWARD:正向 REVERSE:反向 | 'FORWARD' | |
startTime | 否 | String | 如果定时开始任务,传入开始时间;否则为空,例如:'2023-07-21 00:07:09' | '2023-07-21 00:07:09' |
表 dataSourceConfig
参数 | 是否必填 | 参数类型 | 说明 | 示例 | 下级对象 |
---|---|---|---|---|---|
name | 是 | String | 数据配置名称 | mysql源库配置 | |
type | 是 | String | 数据库类型,可选值为MYSQL、POSTGRESQL | 'MYSQL' | |
role | 是 | String | 数据库角色,可选'SOURCE', 'TARGET' 'SOURCE'→单向迁移/同步的源库 'TARGET'→单向迁移/同步的目标库 |
'SOURCE' | |
url | 是 | String | 数据库连接地址,IP:Port格式,如127.0.0.1:3306 | '127.0.0.1:3306' | |
username | 是 | String | 数据库登录账号 | 'root' | |
password | 是 | String | 数据库登录密码 | 'pwd' | |
isSID | 否 | Boolean | Oracle是否采用SID方式连接(非Oracle时为空) | false | |
serviceName | 否 | String | Oralce登录服务名或SID值(非Oracle时为空) | '' | |
dbName | 否 | String | pg登录数据库名(非pg时为空) | '' |
表 objectList
参数 | 是否必填 | 参数类型 | 说明 | 示例 | 下级对象 |
---|---|---|---|---|---|
from | 是 | Object | 源端数据对象,MySQL支持TABLE,VIEW,FUNCTION,PROCEDURE,EVENT,TRIGGER。PostgreSQL支持TABLE,VIEW,FUNCTION,PROCEDURE,M_VIEW,SEQUENCE,TYPE,DOMAIN,TRIGGER,RULE | from | |
to | 是 | Object | 从源端迁移到目标端的数据对象,MySQL支持TABLE,VIEW,FUNCTION,PROCEDURE,EVENT,TRIGGER。PostgreSQL支持TABLE,VIEW,FUNCTION,PROCEDURE,M_VIEW,SEQUENCE,TYPE,DOMAIN,TRIGGER,RULE | to | |
filter | 否 | String | 过滤条件,默认为空 | 'id>1' | |
dmlFilter | 否 | Array of Strings | 表示要过滤的dml操作,包含insert、update和delete中的一个或多个,默认为空 | ['delete'] | |
modifiedColumnNames | 否 | Array of Strings | 变更或删除的字段,示例:假设需要将字段oldName变更成newName,参数为{'old':'oldName','cur':'newName'},如果是删除该字段,则cur中为空。如果有增量任务,该字段必须为空 | [{ 'old':'oldName','cur':'newName'}] | |
wholeDatabase | 是 | String | 表示是否整库同步,可选值'true', 'false',true表示整库同步,false表示非整库同步,同个schema下的wholeDatabase必须保持一致。 注意:如果为true,则ddlSync必须为true,表示开启DDL同步。 |
'true' |
表 from
参数 | 是否必填 | 参数类型 | 说明 | 示例 | 下级对象 |
---|---|---|---|---|---|
name | 是 | String | 同步对象名称 | 'myTable' | |
namespace | 是 | String | 同步对象所在数据库schema | 'mySchema' | |
type | 是 | String | 同步对象类型:TABLE, VIEW, PROCEDURE, FUNCTION, EVENT, TRIGGER等 | 'TABLE' |
表 to
参数 | 是否必填 | 参数类型 | 说明 | 示例 | 下级对象 |
---|---|---|---|---|---|
name | 是 | String | 同步对象名称 | 'myTable' | |
namespace | 是 | String | 同步对象所在数据库schema | 'mySchema' | |
type | 是 | String | 同步对象类型:TABLE, VIEW, PROCEDURE, FUNCTION, EVENT, TRIGGER等 | 'TABLE' |
响应参数
参数 | 参数类型 | 说明 | 示例 | 下级对象 | |
---|---|---|---|---|---|
statusCode | Integer | 返回码 | 0 | ||
error | String | 错误码 | DTS_9999 | ||
message | String | 返回消息 | 成功 | ||
returnObj | Object | 返回数据 | returnObj |
表 returnObj
参数 | 参数类型 | 说明 | 示例 | 下级对象 | |
---|---|---|---|---|---|
jobId | Integer | 任务id | 1 |
枚举参数
无
请求示例
请求url
无
请求头header
无
请求体body
{
"prodInstId":"178",
"binlogInfo":{
"file":"",
"pos":"",
"gtids":""
},
"ddlSync":"true",
"jobConfig":{
"name":"openAPI_M2M迁移任务配置测试",
"type":"MIGRATE",
"structMig":"true",
"allSync":"true",
"incSync":"false",
"bilateralSync":false,
"mainDirection":"FORWARD"
},
"dataSourceConfig":[
{
"name":"mysql源库配置",
"type":"MYSQL",
"role":"SOURCE",
"username":"root",
"password":"l1SWawfsO/TI60t9PjUOvQ==",
"isSID":false,
"serviceName":"",
"dbName":"",
"url":"172.16.4.2: 8854"
},
{
"name":"mysql目标库配置",
"type":"MYSQL",
"role":"TARGET",
"username":"root",
"password":"l1SWawfsO/TI60t9PjUOvQ==",
"isSID":false,
"serviceName":"",
"dbName":"",
"url":"172.16.4.2: 8843"
}
],
"objectList":[
{
"from":{
"name":"table710",
"namespace":"dts1",
"type":"TABLE"
},
"to":{
"name":"table710",
"namespace":"dts1new",
"type":"TABLE"
},
"filter":"",
"dmlFilter":[
],
"modifiedColumnNames":[
{
"old":"name",
"cur":"newname"
}
],
"wholeDatabase":"false"
}
]
}
响应示例
{
"statusCode":0,
"message":"成功",
"returnObj":{
"jobId":1
},
"error":""
}