DTS支持调用API接口,配置或查询DTS任务的迁移、同步或订阅对象。本文将为您介绍相关API接口,并提供对象的定义和配置案例。

相关接口及参数

API 说明
配置DTS任务 在请求参数Dblist中配置DTS任务的迁移、同步或订阅的对象。
在返回参数DbObject中查询DTS任务的迁移、同步或订阅的对象。

迁移、同步或订阅对象定义说明

迁移、同步或订阅对象的数据类型为JSON,详细定义如下:

说明 请按需配置斜体部分的内容。
 {"待迁移、同步或订阅的库名": {
   "name": "待迁移、同步或订阅的库在目标实例中的库名",
   "all": false,
   "Table": {
     "待迁移、同步或订阅的表名": {
       "name": "待迁移、同步或订阅的表在目标实例中的表名",
       "all": false,
       "column": {
         "id": {
           "key": "PRI",
           "name": "id",
           "type": "int(11)",
           "sharedKey": false,
           "state": "checked"  
         }
       },
       "shard": 12
     }
   },
   "num": 2
 }
}
参数 说明
name 待迁移、同步或订阅的库、表、列在目标实例中的名称。
all 是否选择全部表、列,取值:
  • true:是。
    说明 如选择全部表或列,则无需在配置具体的表或列信息。
  • false:否。
Table 待迁移、同步或订阅的表信息。
column 待迁移、同步或订阅的列信息。
key 是否为主键,取值:
  • PRI:是。
  • 空值:否。
sharedKey 是否为分片键,取值:
  • true:是。
  • false:否。
说明 当迁移、同步或订阅数据所属数据库的类型为Kafka时,才需配置本参数。
type 该字段的数据类型。
state 如为checked,则表示该列被选中。
shard 待迁移、同步或订阅的表的分片数量。
说明 当迁移、同步或订阅数据所属数据库的类型为Kafka时,才需配置本参数。
num 待迁移、同步或订阅的库中需要迁移的表的数量。

迁移、同步或订阅对象配置示例

  • 示例一:迁移、同步或订阅dtstestdata库中所有的表。
    {"dtstestdata": {   "name": "dtstestdata",   "all": true }}
  • 示例二:迁移、同步或订阅dtstestdata库,并修改库名为dtstestdata_new。
    {"dtstestdata": {   "name": "dtstestdata_new",   "all": true }}
  • 示例二:迁移、同步或订阅dtstestdata库中部分表(如customer)。
    {"dtstestdata": {
       "name": "dtstestdata",
       "all": false,
       "Table": {
         "customer": {
           "name": "customer",
           "all": true, 
           "column": { 
             "id": {
               "key": "PRI",
               "name": "id",
               "type": "int(11)",
               "sharedKey": false,
               "state": "checked"  
             },
             "gmt_create": {
               "key": "",
               "name": "gmt_create",
               "type": "datetime",
               "sharedKey": false,
               "state": "checked"
             },
             "gmt_modify": {
               "key": "",
               "name": "gmt_modify",
               "type": "datetime",
               "sharedKey": false,
               "state": "checked"
             },
             "valid_time": {
               "key": "",
               "name": "valid_time",
               "type": "datetime",
               "sharedKey": false,
               "state": "checked"
             },
             "creator": {
               "key": "",
               "name": "creator",
               "type": "varchar(200)",
               "sharedKey": false,
               "state": "checked"
             }
           },
           "shard": 12
         }
       },
       "num": 1
     }
    }
  • 示例四:迁移、同步或订阅dtstestdata库中的表(如customer和order)的部分列。
    {"dtstestdata": {
       "name": "dtstestdata",
       "all": false,
       "Table": {
         "customer": {
           "name": "customer",
           "all": false, 
           "column": { 
             "id": {
               "key": "PRI",
               "name": "id",
               "type": "int(11)",
               "sharedKey": false,
               "state": "checked"  
             },
             "level": {
               "key": "",
               "name": "level",
               "type": "varchar(5000)",
               "sharedKey": false,
               "state": "checked"
             },
             "name": {
               "key": "",
               "name": "name",
               "type": "varchar(500)",
               "sharedKey": false,
               "state": "checked"
             },
           },
           "shard": 12
         },
         "order": {
           "name": "order",
           "all": false,
          "column": {
             "id": {
               "key": "PRI",
               "name": "id",
               "type": "int(11)",
               "sharedKey": false,
               "state": "checked"
             }
           },
           "shard": 12
         }
       },
       "num": 2
     }
    }