基于湖库一体架构,统一管理结构化、半结构化与非结构化等多模态数据,一个系统承载事务处理、实时分析与 AI 工作负载。
查询数据同步项目的详细信息
更新时间:2023-06-08 10:49:34
本文为您介绍 OMS 提供的 OpenAPI:查询数据同步项目的详细信息。
功能说明
本接口用于查询数据同步项目的详细信息。
接口说明
接口约束
本接口适用于 OMS V2.1.2 及以上版本。
请求路径
GET /api/omsp/v2/sync/projects/{id}
请求参数
Path Parameter
| 参数 | 类型 | 必选 | 描述 |
|---|---|---|---|
| id | string | Y | 项目 ID。 创建并保存 OceanBase 至 Kafka 同步项目接口会返回该 ID。例如,sync_2test。 |
返回结果
确认返回 "projectStatus":"RUNNING",代表数据同步项目正在运行,增量数据可以同步。
| 参数 | 类型 | 描述 |
|---|---|---|
| success | boolean | 是否调用成功。 |
| code | string | 状态码。 |
| message | string | 描述信息。 |
| advice | string | 建议。 |
| requestId | string | 请求 ID。 |
| pageNumber | integer[int32] | 当前页数。 |
| pageSize | integer[int32] | 每页条数。 |
| totalCount | integer[int64] | 总记录数。 |
| cost | string | 请求耗时。 |
| data | Object | 创建的 OceanBase 数据源的相关信息,具体包含的信息请参见《OmsSyncProjectDTO 数据结构》。 |
OmsSyncProjectDTO 数据结构
| 参数 | 类型 | 描述 |
|---|---|---|
| id | string | 同步项目 ID。 |
| projectName | string | 同步项目名称。 |
| labels | array | 项目标签信息,详情请参见下面的《LabelVO 数据结构》。 |
| syncType | 枚举类型的 string | 同步类型,标识同步的源端和目的端类型。例如,取值为 OB_MYSQL_TO_DATAHUB,表示从 OceanBase 数据库 MySQL 租户同步数据至 DataHub。 |
| sourceEndpointId | string | 源端节点 ID。 |
| destEndpointId | string | 目的端节点 ID。 |
| sourceConnId | string | 源连接信息 ID。 |
| destConnId | string | 目的连接信息 ID。 |
| projectStatus | 枚举类型的 string | 项目状态。取值包括: * INIT: 项目正在初始化。 * RUNNING:项目正在运行中。 * SUSPEND:项目处于暂停状态。 * FAILED:项目运行失败。 * FINISHED:项目运行结束。 * RELEASING:项目正在释放中。 * RELEASED:项目已经被释放。 * DELETED:项目被删除。 |
| enableLogicTable | boolean | 是否使用 LogicTableId。 |
| logicTableId | string | 逻辑表 ID 信息。 |
| syncParams | array | 同步参数。具体包含的信息请参见下面的《OmsSyncParam_SourceConfig_SinkConfig 数据结构》。 |
| extraInfo | array | 错误信息等补充信息,具体包含的信息请参见下面的《OmsSyncExtraInfo 数据结构》。 |
| owner | string | 项目所有者。 |
| workerGradeId | string | 实例规格 ID。 |
| alarming | boolean | 是否正在告警。 |
| kinds | 枚举类型的string | 需要运行的同步子步骤类型。取值包括: * STRUCT:结构迁移。 * INCR:增量迁移。 * FULL:全量迁移。 |
| importance | 枚举类型的 string | 保障等级。取值包括: * HIGH:高保护。 * MEDIUM:中保护。 * LOW:低保户。 * IGNORE:无保护。 |
| startTime | LocalDateTime | 项目开始时间。 |
| finishTime | LocalDateTime | 项目结束时间。 |
| gmtCreate | LocalDateTime | 项目创建时间。 |
| gmtModified | LocalDateTime | 项目更新时间。 |
LabelVO 数据结构
| 参数 | 类型 | 描述 |
|---|---|---|
| id | string | 标签 ID。 |
| name | string | 标签名称。 |
| creator | string | 标签创建人。仅管理员角色的用户调用本 OpenAPI,才会返回本字段。 |
| count | integer | 使用该标签的项目数量。 |
OmsSyncParam_SourceConfig_SinkConfig 数据结构
| 参数 | 类型 | 描述 |
|---|---|---|
| sourceConfig | array | 源端配置项。 |
| sinkConfig | array | 目的端配置项。 |
| coordinatorConfig | array | Connector 中间框架配置。具体包含的信息请参见下面的《CoordinatorConfig 数据结构》。 |
| databaseInfos | array | 用户传入的的库表详情,可以是逻辑表的详情。具体包含的信息请参见下面的《DatabaseDTO 数据结构》。 |
OmsSyncExtraInfo 数据结构
| 参数 | 类型 | 描述 |
|---|---|---|
| errorCode | 枚举类型的 string | 错误码。 |
| errorMsg | string | 错误消息。 |
| errorParam | array | 错误相关参数,此处没有用到。 |
| failedTime | LocalDateTime | 错误产生的时间。 |
| runningStep | 枚举类型的 string | 正在处于运行中的哪一步。 |
| runningProgress | integer | runningStep 的进度。 |
| monitoringIncr | boolean | 是否开始监控增量。 |
| subtopics | string 类型的数组 | 任务关联的 Store 的 subtopics。 |
| logServiceStartCheckpoint | integer | 起始位点。对于 Crawler、Store、Connector 是秒级时间戳。 |
| sourceStoreKeptHour | integer | 日志保存时间。 |
| delay | integer | 增量同步延时。 |
| delaySyncGmt | integer | 同步延迟的采集时间戳,精确到秒级别。 |
| accessObSource | boolean | 是否能够直连 OceanBase 源端。如果不能直连源端,Store Source 会转变为 LogProxy Source。 |
| overwriteConfig | boolean | 是否允许完全覆盖更新配置。 |
| ignoreUnsupportDdl | boolean | 对于 Connector,是否忽略不支持的 DDL。 |
| subDbs | array | 记录不同下游消费方的表配置,用于同步任务复用时的配置合并 |
| maxConnectorCount | integer | Connector 的最大数量,-1 表示不限制。 |
CoordinatorConfig 数据结构
| 参数 | 类型 | 描述 |
|---|---|---|
| tableConditions | array | 同步过滤条件。具体包括的信息请参见下面的《OmsSyncConditionDTO 数据结构》。 |
| allowRecordTypes | enum | 链路允许传递的消息类型,包括 HEARTBEAT、INSERT、UPDATE、DELETE、REPLACE、BEGIN、COMMIT、ROLLBACK、DDL、ROW、FETCH 和 UNKNOW。 |
DatabaseDTO 数据结构
| 参数 | 类型 | 描述 |
|---|---|---|
| tenantName | string | 租户的名称。 |
| databaseId | string | 数据库 ID,仅逻辑库具备 ID。可能会出现一个 Endpoint 中库名相同,但是 ID 不同的情况。 |
| databaseName | string | 数据库的名称。 |
| mappingDatabaseName | string | 数据库的映射名称。 |
| sourceClientId | string | 标识哪个 Source Client 来处理该数据库。 |
| tables | array | 表信息。具体包含的信息请参见下面的《TableDTO 数据结构》。 |
TableDTO 数据结构
| 参数 | 类型 | 描述 |
|---|---|---|
| tableId | string | 目前仅逻辑表存在 tableId,在逻辑表中可能存库表名完全相同,但是只能根据 ID 才能区分的场景。 |
| database | string | 数据库的名称。 |
| tableName | string | 表名称。 |
| mappingTableName | string | 表的映射名称。 |
| instance | string | 逻辑表返回的 instance。 |
| columns | array | 表列信息。具体包含的信息请参见《TableColumnDTO 数据结构》。 |
OmsSyncConditionDTO 数据结构
| 参数 | 类型 | 描述 |
|---|---|---|
| tenantName | string | 租户的名称。 |
| database | string | 源端数据库的名称。 |
| destDatabase | string | 目标端数据库的名称。 |
| tableName | string | 源端的表名称。 |
| destName | string | 目标端的表名称或 Topic 名称。 |
| whereClause | string | SQL 语法。 |
| filterColumns | string 类型的数组 | 过滤列。 |
| shardColumns | string 类型的数组 | 分片键列。 |
| logicTableId | string | 逻辑表的 Table ID。 |
| sourceEndpointId | string | 物理表的 EndPoint ID。 |
| sourceClientId | string | Connector Client ID。 |
TableColumnDTO 数据结构
| 参数 | 类型 | 描述 |
|---|---|---|
| columnName | string | 列的名称。 |
| position | integer | 字段的位置。 |
| columnType | string | 列的类型。 |
| recordFieldType | enum | 列类型引申。包括 INT8、INT16、INT32、INT64、BIGINT、FLOAT32、FLOAT64、BOOLEAN、STRING、BYTES、ARRAY、MAP、STRUCT、DECIMAL、ENUM、SET、YEAR、LOCAL_DATE、LOCAL_TIME、LOCAL_DATETIME、LOCAL_DATETIME_NANO、TIMESTAMP、ZONED_DATETIME、INTERVAL_DAY_TO_SECOND 和 INTERVAL_YEAR_TO_MONTH。 |
| rawColumnType | string | 数据库记录的列类型原始字符串。 |
| columnKey | enum | 索引类型。包括 PRI、UNI 和 MUL。 |
| nullable | boolean | 是否可以为空。 |
| defaultValue | string | 默认值。 |
| dataLength | integer | 字段的长度。 |
| dataPrecision | integer | 精度。 |
| dataScale | integer | 小数点。 |
| encoding | string | 字符编码。 |
| columnComment | string | 字段的注释。 |
| isGenerateField | boolean | 是否为隐藏列。 |
示例
请求示例
curl --location --request GET 'http://xxx.xxx.xxx.1:8089/api/omsp/v2/sync/projects/sync_38u28***' \
--header 'Authorization: Basic YWRt***='
返回示例
{
"success": true,
"code": null,
"message": null,
"advice": null,
"requestId": null,
"pageNumber": null,
"pageSize": null,
"totalCount": null,
"cost": null,
"data": {
"id": "sync_38u28n***",
"projectName": "projectName",
"labels": [],
"syncType": "OB_MYSQL_TO_DATAHUB",
"sourceEndpointId": "sourceEndpointId",
"destEndpointId": "destEndpointId",
"sourceConnId": "sourceConnId",
"destConnId": "destConnId",
"projectStatus": "RUNNING",
"enableLogicTable": false,
"logicTableId": null,
"syncParams": {
"sourceConfig": {
"databaseInfos": [
{
"tenantName": null,
"databaseId": null,
"databaseName": "databaseName",
"mappingDatabaseName": "mappingDatabaseName",
"sourceClientId": null,
"tables": [
{
"tableId": null,
"database": "database",
"tableName": "tableName",
"mappingTableName": "mappingTableName",
"instance": null
}
]
}
],
"incrTopicInfo": {
"keptHour": null,
"storeStartTimestamp": 1637575837,
"clusterManagerUrl": null,
"incrUser": null,
"incrPassword": null
}
},
"sinkConfig": {
"shardKeys": [],
"endpoint": null,
"accessId": null,
"accessKey": null,
"project": null,
"topic": "utf16_test",
"protocol": null,
"enableSequence": null,
"sequenceStart": null,
"subIds": {}
},
"coordinatorConfig": {
"name": null,
"tableConditions": [
{
"tenantName": null,
"database": "database",
"destDatabase": null,
"tableName": "utf16_test",
"destName": "utf16_test",
"whereClause": null,
"filterColumns": null,
"shardColumns": null,
"logicTableId": null,
"sourceEndpointId": "sourceEndpointId",
"sourceClientId": null
}
],
"allowRecordTypes": [
"INSERT",
"DELETE",
"UPDATE"
]
},
"databaseInfos": [
{
"tenantName": null,
"databaseId": null,
"databaseName": "databaseName",
"mappingDatabaseName": "mappingDatabaseName",
"sourceClientId": null,
"tables": [
{
"tableId": null,
"database": "database",
"tableName": "tableName",
"mappingTableName": "mappingTableName",
"instance": null
}
]
}
]
},
"extraInfo": {
"errorCode": null,
"errorMsg": null,
"errorParam": null,
"failedTime": null,
"runningStep": "CONNECTOR_INCR_SYNC",
"runningProgress": 100,
"monitoringIncr": false,
"subtopics": [
"ob_ten_1_38fyp***"
],
"logServiceStartCheckpoint": 1637575837,
"sourceStoreKeptHour": 72,
"delay": 19,
"delaySyncGmt": 1637576400,
"accessObSource": true,
"overwriteConfig": false,
"ignoreUnsupportDdl": true,
"subDbs": null,
"maxConnectorCount": 2
},
"owner": "admin",
"workerGradeId": null,
"alarming": false,
"kinds": [
"FULL",
"INCR"
],
"importance": "LOW",
"startTime": "2021-11-22T18:11:18",
"finishTime": null,
"gmtCreate": "2021-11-22T18:11:07",
"gmtModified": "2021-11-22T18:20:00"
}
}