首批通过分布式安全可靠测评,为关键业务系统打造
分页查询任务列表
更新时间:2026-04-14 15:40:47
本文为您介绍 OceanBase 迁移服务(OceanBase Migration Service,OMS)社区版提供的 OpenAPI:分页查询任务列表 ListProjects。
功能说明
本接口用于数据迁移或数据同步任务列表页面的分页查询。
调用说明
接口约束
本接口适用于 OMS 社区版 V4.1.1-CE 及之后版本。
请求路径
POST /api/v2?Action=ListProjects
请求参数
| 参数 | 类型 | 描述 |
|---|---|---|
| searchKey | string | 数据迁移或数据同步任务的名称/ID。 |
| type | string | 任务的类型,包括 MIGRATION(表示数据迁移任务)和 SYNC(表示数据同步任务)。 |
| status | string | 任务的状态。 |
| labelIds | array | 标签 ID 的集合,最多支持 5 个。 |
| sourceEndpointTypes | array | 源端数据源类型的集合。 |
| sinkEndpointTypes | array | 目标端数据源类型的集合。 |
| visibleSubProject | boolean | 是否展示子任务,默认不展示。 |
| sortField | string | 排序字段,包括 gmtCreate 和 gmtModified,默认值为 gmtCreate。 |
| order | string | 排列顺序,包括 asc(升序)和 descend(降序)。默认值为 descend。 |
| pageNumber | integer | 当前页数,默认值为 1。 |
| pageSize | integer | 每页条数,默认值为 10,最大值为 150。 |
返回结果
| 参数 | 类型 | 描述 |
|---|---|---|
| success | boolean | 是否调用成功。 |
| errorDetail | object | 错误详情。 |
| code | string | 错误码。 |
| message | string | 错误描述。 |
| advice | string | 建议。 |
| requestId | string | 请求 ID。 |
| pageNumber | integer | 页序号,分页查询时生效。 |
| pageSize | integer | 页大小,分页查询时生效。 |
| totalCount | integer | 总数,分页查询时生效。 |
| cost | string | 请求耗时,单位为秒。 |
| data | object [] | 任务列表的相关信息,具体包含的信息请参见《data 数据结构》。 |
data 数据结构
参数 类型 描述 id string 任务的 ID。 type string 任务的类型,包括 MIGRATION(表示数据迁移任务)和SYNC(表示数据同步任务)。name string 任务的名称,不能包含空格。 ├─ id string 标签的 ID。 ├─ name string 标签的名称。 owner string 任务的 Owner。 importance string 任务的告警等级,包括 HIGH、MEDIUM、LOW和IGNORE。status string 任务的状态。 gmtCreate string 任务的创建时间,以 UTC + 0 时区的时间格式展示。 gmtModified string 任务的更新时间,以 UTC + 0 时区的时间格式展示。 gmtStart string 任务的开启运行时间。 gmtFinish string 任务的结束运行时间。 destConnId string 任务的连接信息 ID。 isMerging boolean 任务是否处于合并中。 isModifying boolean 任务是否处于修改中。 isSubProject boolean 是否为子任务。 sourceEndpointType string 源端数据源的类型,包括 MYSQL、OB_ORACLE、OB_MYSQL、ORACLE、TIDB、DB2_LUW、POSTGRESQL、IDB 和 DBP_OP_ROUTE。 sinkEndpointType string 目标端数据源的类型,包括 MYSQL、OB_ORACLE、OB_MYSQL、ORACLE、DB2_LUW、KAFKA、DATAHUB 和 ROCKETMQ。 transferMapping object 传输对象及其映射关系。 ├─ mode string 传输对象的映射模式,包括 SPECIFIC(表示指定对象)和WILDCARD(表示匹配规则)。├─ databases array 数据库对象列表。具体包含的信息请参见《databases/databasesBlack 数据结构》。 ├─ databasesBlack array 匹配规则模式:数据库对象黑名单列表。具体包含的信息请参见《databases/databasesBlack 数据结构》。 ├─ tableAndViewWhiteList array 匹配规则模式:表和视图的通配白名单列表。 ├─ tableAndViewBlackList array 匹配规则模式:表和视图的通配黑名单列表。 commonTransferConfig object 通用的传输配置。 ├─ tableCategory string 传输的表类型。包括 ALL(所有表)、WITH_UNIQUE_ROW_ID(有唯一行标识的表)和 WITHOUT_UNIQUE_ROW_ID(无唯一行标识的表),默认值为 ALL。 ├─ activeActive boolean 是否为容灾双活场景。 ├─ mqSerializerType string 投递至消息队列时,数据 JSON 序列化类型。包括 DEFAULT、CANAL、DATAWORKS_V2、SHAREPLEX、DEFAULT_WITH_SCHEMA、DEBEZIUM、DEBEZIUMFLATTEN 和 DEBEZIUMSMT。 ├─ mqPartitionMode string 投递至消息队列时,分区路由方式。包括 ONE(指定分区投递)、HASH(根据主键/分片列值进行 HASH 分区投递、TABLE(根据库表名进行 HASH 分区投递)。 ├─ mqPartition integer 当 partitionMode为ONE时,该参数表示投递的分区在当前 topic 下的位置。├─ datahubTopicType string 投递至消息队列 DataHub 时,指定 Topic 的类型。类型包括 TUPLE和BLOB。├─ rocketMqProducerGroup string 指定生产组名(目标端为 RocketMQ 时生效),默认值为 OMS。 ├─ rocketMqMsgTags string 设置消息 tag(目标端为 RocketMQ 时生效)。默认 default->default_tag,即值为 default时,会默认添加一个_tag的后缀。├─ rocketMqEnableMsgTrace boolean 是否开启消息追踪,仅目标端为 RocketMQ 时生效。 ├─ rocketMqSendMsgTimeout long 设置消息投递超时时间,仅目标端为 RocketMQ 时生效。 ├─ dataWorksBusinessName string 业务系统标识。 enableStructTransfer boolean 是否允许结构传输。 structTransferConfig object 结构传输的配置。 ├─ byteCharConvertStrategy string byte/char 转换方案,包括 IGNORE_BYTE_IF_BYTE_USED、FORCE_CHAR_IF_BYTE_USED、EXPAND_LEN_IF_BYTE_USED和DO_NOTHING_IF_BYTE_USED(默认值)。├─ deferIndexCreation boolean 是否允许索引后置,默认值为不允许。 enableFullTransfer boolean 是否启用全量传输。 enableFullVerify boolean 是否启用全量校验。 fullTransferConfig object 全量传输的配置。 ├─ nonePkUkTruncateDstTable boolean 处理源端无唯一索引表的全量迁移时,是否清空目标表。 ├─ allowDestTableNotEmpty string 目标端表对象存在记录时处理策略,包括 忽略 和 停止迁移。 - 设置为 true 时,表示选择忽略:当目标端表对象存在数据时,OMS 社区版将采用忽略或者覆盖的策略进行数据写入。仅目标端为 MySQL 数据库或 OceanBase 社区版时支持覆盖。
注意
选择 忽略,全量校验将使用 IN 模式拉取数据,无法校验目标端存在源端没有的数据的场景,并且校验性能会有一定程度降级。
- 设置为 false 时,表示选停止迁移:当目标端表对象存在数据时,全量迁移会报错不允许迁移,请处理好目标端数据后再继续迁移。
注意
如果出错后单击恢复,OMS 社区版将忽略该配置选项,继续迁移表数据,请谨慎操作。
├─ fullTransferSpeedMode string 全量迁移并发速度,包括 STEADY、NORMAL 和 FAST。 ├─ fullVerifySpeedMode string 全量校验并发速度,包括 STEADY、NORMAL 和 FAST。 enableIncrTransfer boolean 是否启用增量同步。 enableIncrVerify boolean 是否启用增量校验。 enableReverseIncrTransfer boolean 是否启用反向增量同步。 incrTransferConfig object 增量同步的配置。 ├─ startTimestamp long 增量同步起始位点。仅启用增量同步但未启用全量传输时,支持设置该参数。 ├─ recordTypeWhiteList array 有增量同步阶段时,同步的增量数据类型。包括 HEARTBEAT、INSERT、UPDATE、DELETE、BEGIN、COMMIT、ROLLBACK、DDL 和 ROW。 ├─ storeLogKeptHour integer 有增量同步阶段且增量日志拉取组件为 Store 时,日志的保存时间。单位为小时,默认 7 天,最长支持 365 天。 ├─ enableSequencingWithinTxn boolean 有增量同步阶段且增量日志拉取组件为 Store 时,是否开启事务内序号编排。 ├─ incrSyncConcurrency integer 增量同步的线程数,默认值为 64。 ├─ enableIncrSyncStatistics boolean 是否开启增量记录(DML、DDL)统计。 sourceConnectInfo object 源端节点的连接信息。 ├─ id string 连接信息的 ID。 ├─ endpointName string 终端节点的名称。 ├─ endpointId string 终端节点的 ID。 ├─ endpointSide string 终端节点的类型,包括 source(源端)和dest(目标端)。├─ dbEngine string 终端节点的数据库引擎。 ├─ connectionInfo string 终端节点的连接信息。 ├─ username string 连接用户名。 ├─ version string 数据库的版本。 ├─ timezone string 数据库的时区。 ├─ charset string 字符编码。 ├─ nlsLengthSemantics string nlsLengthSemantics 属性,仅针对 Oracle 和 OceanBase 数据库 Oracle 兼容模式数据源。 ├─ operatingSystem string 操作系统(OceanBase 数据库无该参数)。 ├─ region string 地域。 ├─ ocpName string OCP 的名称。 ├─ connExtraAttributes object 连接额外属性。具体返回字段请参见《附录》模块的内容。 ├─ owner string Owner。 ├─ host string IP 地址。 ├─ port integer 端口。 sinkConnectInfo object 目标端节点的连接信息。 ├─ id string 连接信息的 ID。 ├─ endpointName string 终端节点的名称。 ├─ endpointId string 终端节点的 ID。 ├─ endpointSide string 终端节点的类型,包括 source(源端)和dest(目标端)。├─ dbEngine string 终端节点的数据库引擎。 ├─ connectionInfo string 终端节点的连接信息。 ├─ username string 连接用户名。 ├─ version string 数据库的版本。 ├─ timezone string 数据库的时区。 ├─ charset string 字符编码。 ├─ nlsLengthSemantics string nlsLengthSemantics 属性,仅针对 Oracle 和 OceanBase 数据库 Oracle 兼容模式数据源。 ├─ operatingSystem string 操作系统(OceanBase 数据库无该参数)。 ├─ region string 地域。 ├─ ocpName string OCP 的名称。 ├─ connExtraAttributes object 连接额外属性。具体返回字段请参见《附录》模块的内容。 ├─ owner string Owner。 ├─ host string IP 地址。 ├─ port integer 端口。 steps array 步骤列表。 ├─ order integer 步骤的运行顺序。 ├─ name string 步骤的名称。 ├─ description string 步骤的描述。 ├─ status string 步骤的运行状态。 ├─ extraInfo object 补充信息。具体包含的信息请参见《extraInfo 数据结构》。 ├─ startTime string 开始时间,以 UTC + 0 时区的时间格式展示。 ├─ finishTime string 结束时间,以 UTC + 0 时区的时间格式展示。 ├─ progress integer 步骤的运行进度。 ├─ stepInfo object 各步骤的运行详情,请参见 查询任务步骤的详情。 extraInfo object 错误信息等补充信息。 ├─ runningStep string 处于 running 状态的步骤。 ├─ runningProgress integer 处于 running 状态的步骤的运行进度。 ├─ monitoringIncr boolean 是否开始监控增量。 ├─ subtopics string 任务关联 Store 的 Subtopics。 ├─ reverseSubtopics string 任务关联反向 Store 的 Subtopics。 ├─ logServiceStartCheckpoint integer 起始位点。 ├─ sourceStoreKeptHour integer 日志的保存时间。 ├─ syncDelay integer 增量同步延迟。 ├─ syncDelaySampleTimestamp integer 同步延迟的采集时间戳,秒级别。 ├─ accessObSource boolean 是否能够直连源端 OceanBase 数据库。 ├─ overwriteConfig boolean 是否允许完全覆盖更新配置。 ├─ ignoreUnsupportDdl boolean 是否忽略不支持的 DDL。 ├─ subDbs map 记录不同下游消费方的表配置,用于数据同步任务复用时的配置合并。 ├─ subConds map 配置对象列表。 ├─ subIds map 配置对象的 ID 列表。 ├─ maxConnectorCount integer Connector 的最大数量,-1 表示不限制。 ├─ storeIncr boolean 是否保存增量。 ├─ incrSyncTimestamp integer 增量同步的当前位点,单位为秒级时间戳。 alarmStats object 告警统计信息。 ├─ target string 被告警的目标。 ├─ alarming boolean 是否正在告警。 ├─ recentlyTriggerCount integer 最近告警消息的总数量。 ├─ ruleToRecentlyTriggerCount map 分规则最近告警消息的数量。 ├─ alarmContent string 最近告警消息的内容。 - 设置为 true 时,表示选择忽略:当目标端表对象存在数据时,OMS 社区版将采用忽略或者覆盖的策略进行数据写入。仅目标端为 MySQL 数据库或 OceanBase 社区版时支持覆盖。
databases/databasesBlack 数据结构
参数 类型 描述 mappedName string 目标端数据库的名称。 name string 源端数据库的名称。 id string 数据库的 ID。 tables array 当前数据库中传输表对象的配置列表。 Mode为WILDCARD时,该参数表示具体黑名单或白名单的配置,表和视图共用。├─ mappedName string 表的映射名称。 ├─ name string 表的名称。 ├─ id string 表的 ID。 ├─ whereClause string 通过标准的 SQL 语句中的 WHERE子句,用于配置行过滤。├─ filterColumns array 过滤列集合。 ├─ shardColumns array 分片列集合。 ├─ columns 具体包含的信息请参见《columns 数据结构》。 views array 当前数据库中传输视图对象的配置。 ├─ mappedName string 视图的映射名称。 ├─ name string 视图的名称。 ├─ id string 视图的 ID。 ├─ whereClause string 标准的 SQL 语句中的 WHERE子句,用于配置行过滤。├─ filterColumns array 过滤列集合。 ├─ shardColumns array 分片列集合。 ├─ columns array 待传输列的列表。具体包含的信息请参见《columns 数据结构》。 specificTables array 具体表对象的配置列表。 mode为WILDCARD时,该参数表示具体表对象的重命名、行过滤配置。├─ mappedName string 表的映射名称。 ├─ name string 表的名称。 ├─ id string 表的 ID。 ├─ whereClause string 通过标准的 SQL 语句中的 WHERE子句,用于配置行过滤。├─ filterColumns array 过滤列集合。 ├─ shardColumns array 分片列集合。 ├─ columns array 待传输列的列表。具体包含的信息请参见《columns 数据结构》。 specificViews array 具体视图对象的配置列表。 mode为WILDCARD时,该参数表示具体视图对象的重命名配置。├─ mappedName string 视图的映射名称。 ├─ name string 视图的名称。 ├─ id string 视图的 ID。 ├─ whereClause string 标准的 SQL 语句中的 WHERE子句,用于配置行过滤。├─ filterColumns array 过滤列集合。 ├─ shardColumns array 分片列集合。 ├─ columns array 待传输列的列表。具体包含的信息请参见《columns 数据结构》。 columns 数据结构
参数 类型 描述 columnName string 列的名称。 mappedName string 列的映射名称。 position integer 字段的位置。 columnType string 列的类型。 recordFieldType string 列类型的引申。 rawColumnType string 数据库记录的列类型的原始字符串。 columnKey string 索引的类型。 nullable boolean 是否可以为空。 defaultValue string 默认值。 dataLength integer 列的长度。 dataPrecision integer 列的精度。 dataScale integer 小数点。 encoding string 列的字符编码。 columnComment string 列的注释。 isGenerateField boolean 是否为隐藏列。 extraInfo 数据结构
参数 类型 描述 errorDetails array 错误详情。 errorCode string 错误码。 errorMsg string 错误消息。 errorParam map 错误相关的参数。 failedTime string 错误时间。
示例
请求示例
{
"searchKey":"j_oms41_ob",
"type":"MIGRATION",
"status":[
"RUNNING"
],
"labelIds":[
"l_4w****wygjk"
],
"sourceEndpointTypes":[
"OB_MYSQL"
],
"sinkEndpointTypes":[
],
"visibleSubProject":false,
"sortField":"gmtCreate",
"order":"asc",
"pageNumber":1,
"pageSize":5
}
返回示例
{
"success":"true",
"errorDetail":null,
"code":null,
"message":null,
"advice":null,
"requestId":"e8dec2fe-40****",
"pageNumber":"1",
"pageSize":"5",
"totalCount":"151",
"cost":"54 ms",
"data":[
{
"id":"np_4w****",
"type":"MIGRATION",
"name":"j_oms4****9_56_obo",
"labels":[
{
"id":"l_***",
"name":"boq***"
}
],
"owner":"oms_api_te***",
"importance":"LOW",
"status":"RUNNING",
"gmtCreate":"2023-07-13T06:26:15",
"gmtModified":"2023-07-13T07:01:27",
"gmtStart":"2023-07-13T07:01:27",
"gmtFinish":null,
"destConnId":null,
"isMerging":false,
"isModifying":false,
"isSubProject":false,
"sourceEndpointType":"OB_MYSQL",
"sinkEndpointType":"MYSQL",
"transferMapping":{
"mode":"SPECIFIC",
"databases":[
{
"mappedName":"n12956****mysql",
"name":"striG***UTF115ng",
"id":null,
"tables":[
{
"mappedName":"CHAR****001_",
"name":"CHARA****PK_001",
"id":null,
"whereClause":null,
"filterColumns":null,
"shardColumns":null,
"columns":null
}
],
"views":[
{
"mappedName":"HIGH_SAL****EASE_",
"name":"HIGH_SA****LEASE",
"id":null,
"whereClause":null,
"filterColumns":null,
"shardColumns":null,
"columns":null
}
],
"specificTables":null,
"specificViews":null
}
]
},
"commonTransferConfig":null,
"enableStructTransfer":true,
"structTransferConfig":null,
"enableFullTransfer":true,
"enableFullVerify":true,
"fullTransferConfig":null,
"enableIncrTransfer":true,
"enableIncrVerify":false,
"enableReverseIncrTransfer":true,
"incrTransferConfig":null,
"sourceConnectInfo":{
"id":"c_4w3aq****",
"endpointName":"ration12****0obmysql4116892***",
"endpointId":"e_4w3al***",
"endpointSide":null,
"dbEngine":"OB_MYSQL_PUBLIC",
"connectionInfo":null,
"username":"oms931mys**",
"version":"5.7.27-log",
"timezone":"UTC",
"charset":"utf8mb4",
"nlsLengthSemantics":null,
"operatingSystem":"Linux",
"region":"cn-beijing",
"ocpName":"",
"connExtraAttributes":null,
"owner":"oms_api_te***",
"host":"xxx.xxx.xxx.1",
"port":"2883"
},
"sinkConnectInfo":{
"id":"c_4w3akx***",
"endpointName":"ation129***9apimysql5616****",
"endpointId":"e_4w3aic***",
"endpointSide":null,
"dbEngine":"MYSQL_PUBLIC",
"connectionInfo":null,
"username":"oms**obmys**",
"version":"2.2.77",
"timezone":"+08:00",
"charset":"utf8mb4",
"nlsLengthSemantics":null,
"operatingSystem":null,
"region":"cn-anhui",
"ocpName":"107",
"connExtraAttributes":null,
"owner":"oms_api_te***",
"host":"xxx.xxx.xxx.2",
"port":"2883"
},
"steps":[
{
"order":"1",
"name":"TRANSFER_PRECHECK",
"description":"预检查",
"status":"FINISHED",
"extraInfo":{
"errorDetails":null,
"errorCode":null,
"errorMsg":null,
"errorParam":null,
"failedTime":null
},
"startTime":null,
"finishTime":null,
"progress":100,
"stepInfo":{
}
}
],
"extraInfo":{
"errorDetails":null,
"errorCode":null,
"errorMsg":null,
"errorParam":null,
"failedTime":null
},
"alarmStats":{
"target":null,
"alarming":false,
"recentlyTriggerCount":null,
"ruleToRecentlyTriggerCount":null,
"alarmContent":null
}
}
]
}
附录
Kafka
{
"connExtraAttributes":{
"endpoint":"xxx.xxx.xxx.1:2883",
"username":null,
"enableSSL":null,
"enableSASL":null,
"saslMechanism":null,
"disableIdentificationAlgorithm":false
}
}
| 参数 | 类型 | 描述 |
|---|---|---|
| endpoint | string | 服务地址。 |
| username | string | 用户名。当您选择认证方式为 PLAIN、SCRAM-SHA-256 和 SCRAM-SHA-512 时,该参数必填。 |
| enableSSL | boolean | 是否开启 SSL 认证。如果开启,则需要上传授信证书。 |
| enableSASL | boolean | 是否开启 SASL 认证。 |
| saslMechanism | KafkaSaslMechanisnEnum | 加密方式,包括 PLAIN、SCRAM-SHA-256、SCRAM-SHA-512 和 KERBEROS。 |
| disableIdentificationAlgorithm | boolean | SSL 加密时,是否开启主机名验证。 |
DataHub
{
"connExtraAttributes":{
"endpoint":"xxx.xxx.xxx.1:2883",
"project":"detx***"
}
}
| 参数 | 类型 | 描述 |
|---|---|---|
| endpoint | string | 服务地址。 |
| project | string | 任务的名称。 |
RocketMQ
{
"connExtraAttributes":{
"endpoint":"xxx.xxx.xxx.1:2883",
"endpointType":null,
"version":null
}
}
| 参数 | 类型 | 描述 |
|---|---|---|
| endpoint | string | 服务地址。 |
| endpointType | CloudRocketMQEndpoint.Type | 服务地址的类型。 |
| version | CloudRocketMQInst.Version | RocketMQ 的版本。 |
OceanBase
{
"connExtraAttributes":{
"cluster":"xgez***",
"tenant":"gexr**",
"isLogicSource":false,
"useLogProxy":true,
"drcUser":"tes***",
"configUrl":"http://xxx.xxx.xxx.1:2883/service****",
"logProxyIp":"xxx.xxx.xxx.2",
"logProxyPort":2883,
"noUserAuth":false
}
}
| 参数 | 类型 | 描述 |
|---|---|---|
| cluster | string | 集群的名称。 |
| tenant | string | 租户的名称。 |
| isLogicSource | boolean | 是否为逻辑数据源。 |
| useLogProxy | boolean | 是否使用 LogProxy。 |
| drcUser | string | drc_user 的配置。 |
| configUrl | string | 用于获取 OceanBase 数据库底层服务器的真实地址。 |
| logProxyIp | string | LogProxy 服务的 IP 地址。 |
| logProxyPort | integer | LogProxy 服务的端口。 |
| noUserAuth | boolean | 对于同步 DataWorks 的接口,数据源是 OMS 自动生成的。如果没有用户账号和密码,则不能连接用户的 OceanBase 数据库。 |
TiDB
{
"connExtraAttributes":{
"kafkaId":"e_edz****",
"kafkaTopic":"test**",
"kafkaName":"denz***"
}
}
| 参数 | 类型 | 描述 |
|---|---|---|
| kafkaId | string | 绑定的 Kafka 数据源的 ID。 |
| kafkaTopic | string | 绑定的 Kafka Topic 的名称。 |
| kafkaName | string | 绑定的 Kafka 数据源的名称。 |