元数据中心OpenAPI
此手册用于记录大数据开发与管理平台中,元数据中心产品所有对外开放的OpenAPI,阅读此手册,你将了解元数据中心产品开放的OpenAPI能力与调用方法。
一、公共参数
1.1 响应格式
| 名称 | 类型 | 描述 |
|---|---|---|
| code | Number | 响应码 |
| reqId | String | 请求ID |
| cost | Number | 耗时,单位:ms |
| msg | String | 响应消息 |
| result | Object | 响应结果 |
1.2 错误码
1.2.1 公共错误码
1.2.2 认证错误码
| 响应码 | 说明 |
|---|---|
| 1101 | 项目不存在 |
1.2.3 元数据中心内部错误码 (2000 - 2999)
| 响应码 | 说明 |
|---|---|
| 2001 | 数据源id不存在 |
| 2002 | 数据源类型不存在 |
| 2003 | 项目名称不存在 |
| 2004 | 当前登录用户不存在 |
| 2005 | 数据源db不存在 |
| 2006 | 数据源table不存在 |
| 2011 | 数据源负责人不存在 |
| 2012 | 数据源管理者不存在 |
| 2013 | 数据源名称长度超过字符限制(目前:128) |
| 2014 | 项目组下存在同名数据源 |
| 2015 | 项目组下存在相同数据源,项目组id:{},项目id:{},数据源id:{},归属项目:{} |
| 2016 | 数据源标识格式校验不通过 |
| 2030 | 禁止删除的数据源类型 |
| 2031 | 数据源连接串格式校验不通过 |
| 2032 | 数据源版本校验不通过 |
| 2033 | 上传文件大小超过限制 |
| 2034 | 该数据源负责人没有登记权限 |
| 2035 | 数据源标识已存在 |
| 2036 | 数据源登记项:{}必填 |
| 2037 | 数据源登记错误 |
| 2038 | 不允许编辑逻辑数据源 |
| 2039 | 上传文件数量和文件key名数量不一致,文件数量:{} ,文件key名数量:{} |
| 2201 | 该表在血缘中不存在 |
| 2202 | 该字段在血缘中不存在 |
| 2203 | 该数据源类型不支持血缘 |
| 2204 | 时间格式错误 |
| 2205 | 分页大小超过上限 |
| 2206 | 搜索方向错误 |
| 2207 | {必填参数}不能为空 |
1.2.4 子产品错误码 (3000 - 3999)
| 响应码 | 说明 |
|---|---|
| 3001 | 安全中心调用异常 |
1.3 枚举列表
暂无
1.4 请求参数列表
1.4.1 基本参数
暂无
1.5 响应实体列表
1.5.1 基础实体
PageResult
分页查询结果
| 字段 | 类型 | 描述 |
|---|---|---|
| pageSize | Number | 每页显示条数 |
| pageNum | Number | 页数 |
| totalCount | Number | 总条数 |
| totalPage | Number | 总页数 |
| list | Array<Object> | 当前页结果 |
1.5.2 数据源
DatasourceInfo
数据源详情
| 字段 | 类型 | 描述 |
|---|---|---|
| datasourceId | Number | 数据源id |
| owner | String | 数据源负责人 |
| assistManager | List<String> | 数据源管理员 |
| createTime | Number | 数据源创建时间,以时间戳毫秒格式 |
| updateTime | Number | 数据源修改时间,以时间戳毫秒格式 |
| groupId | Number | 项目组ID |
| product | String | 项目名称 |
| datasourceName | String | 数据源名称 |
| catalogName | String | 数据源标识,v5.11.0 新增 |
| datasourceType | String | 数据源类型 |
| info | DatasourceInfoDetail | 数据源信息,例如:url、user、version等 |
DatasourceInfoDetail
数据源具体信息内容
| 字段 | 类型 | 描述 |
|---|---|---|
| datasourceId | Number | 数据源id |
1.5.3 Hive库结构
DatabaseInfo
| 字段 | 类型 | 描述 |
|---|---|---|
| db | String | 数据库名 |
1.5.4 Hive表结构
TableInfo
| 字段 | 类型 | 描述 |
|---|---|---|
| table | String | 表名 |
| owner | String | 负责人 |
| creator | String | 创建者 |
| createdTime | String | 创建时间 |
| comment | String | 表注释 |
| tableType | String | 表类型 |
| fields | List<FieldInfo> | 字段结构列表 |
1.5.5 Hive字段结构
FieldInfo
| 字段 | 类型 | 描述 |
|---|---|---|
| fieldName | String | 字段名 |
| fieldType | String | 字段类型 |
| partitionKey | Boolean | 是否是分区字段 |
| comment | String | 字段注释 |
1.5.6 Table血缘结构
LineageTableInfo
| 字段 | 类型 | 描述 |
|---|---|---|
| datasourceId | Number | 数据源id |
| catalog | String | 数据源标识 |
| db | String | 库 |
| table | String | 表 |
| tableId | String | 表的唯一标识,一般用catalog.db.table拼接 |
| datasourceType | String | 数据源类型 |
| updateTime | Number | 血缘更新时间,毫秒值 |
| parentList | PageResult<NextLineageTableInfo> | 查询表上游表和任务详情,direction=up才有 |
| childList | PageResult<NextLineageTableInfo> | 查询表下游表和任务详情,direction=down才有 |
| referList | List<NextLineageNode> | 查询表上对应的关系(有指标、标签、数据服务、报告、业务系统五个来源) |
NextLineageTableInfo
| 字段 | 类型 | 描述 |
|---|---|---|
| datasourceId | Number | 数据源id |
| catalog | String | 数据源标识 |
| db | String | 库 |
| table | String | 表 |
| tableId | String | 表的唯一标识,一般用catalog.db.table拼接 |
| datasourceType | String | 数据源类型 |
| tableUpdateTime | Number | 表血缘更新时间 |
| taskUpdateTime | Number | 任务更新时间 |
| taskId | String | 跟核心查询表串起来的任务id |
| platform | String | 平台名,默认mammut |
NextLineageNode
| 字段 | 类型 | 描述 |
|---|---|---|
| nodeId | String | 节点id |
| nodeName | String | 节点名称 |
| source | String | 来源:api(数据服务)、index(指标)、report(有数报告)、tag(标签)、datamapTag(地图标签)、businessSystem(业务系统) |
| nodeUpdateTime | Number | 节点血缘更新时间 |
| relUpdateTime | Number | 表和节点之间关系更新时间 |
1.5.7 Field血缘结构
LineageFieldInfo
| 字段 | 类型 | 描述 |
|---|---|---|
| datasourcId | Number | 数据源id |
| catalog | String | 数据源标识 |
| db | String | 库 |
| table | String | 表 |
| fieldName | String | 字段名 |
| fieldId | String | 字段的唯一标识,一般用catalog.db.table.fieldName拼接 |
| datasourceType | String | 数据源类型 |
| updateTime | Number | 血缘更新时间,毫秒值 |
| parentList | PageResult<NextLineageFieldInfo> | 查询字段上游字段和任务详情,direction=up才有 |
| childList | PageResult<NextLineageFieldInfo> | 查询字段下游字段和任务详情,direction=down才有 |
| referList | List<NextLineageNode> | 查询字段上对应的关系(只有指标、标签、数据服务三个来源) |
NextLineageFieldInfo
| 字段 | 类型 | 描述 |
|---|---|---|
| datasourceId | Number | 数据源id |
| catalog | String | 数据源标识 |
| db | String | 库 |
| table | String | 表 |
| fieldName | String | 字段名 |
| fieldId | String | 字段的唯一标识,一般用catalog.db.table.fieldName拼接 |
| fieldRelation | String | 字段间的关系 |
| datasourceType | String | 数据源类型 |
| fieldUpdateTime | Number | 字段血缘更新时间 |
| taskUpdateTime | Number | 任务更新时间 |
| taskId | String | 跟核心查询字段串起来的任务id |
| platform | String | 平台名 |
1.5.8 公钥结构
KeyInfo
| 字段 | 类型 | 描述 |
|---|---|---|
| publicKey | String | 公钥 |
1.5.9 数据源登记Info
DatasourceInfo
登记格式参考:[登记数据源info格式说明]
主要字段说明:
| 字段 | 类型 | 描述 |
|---|---|---|
| url | String | 连接串 |
| user | String | 用户名 |
| password | String | 密码,必须传密文:[2.2.3 数据源密码加密公钥获取] |
| version | String | 数据源版本,版本列表从openapi中获取:[2.2.11 查看数据源版本] |
| mode | String | kafka: 无认证(none)、sasl认证(sasl) es:http、https redis:sentinel、single、cluster cdh-hive:password、simple、kerberos |
二、OpenAPI列表
2.1 OpenAPI总览
2.2 数据源API
2.2.1 数据源详情获取
GET /datasource/v1/get
产品版本:v4.2.0 新增 v5.11.0 更新
描述:根据数据源id获取数据源详情信息
URL参数/请求体
| 名称 | 类型 | 描述 | 必须 | 默认值 |
|---|---|---|---|---|
| datasourceId | Number | 数据源id | 是 | |
| user | String | 当前登录的用户 | 是 | |
| product | String | 项目名称 | 是 | 无 |
请求示例(参数未编码,调用时请编码):
product=testProduct&user=testUser@163.com&datasourceId=11
响应体
| 名称 | 类型 | 描述 | 必传 | 默认值 |
|---|---|---|---|---|
| code | Number | 状态码 | 是 | |
| msg | String | 错误信息 | 是 | |
| cost | Number | 接口消耗毫秒数 | 是 | |
| reqId | String | 请求ID | 是 | |
| result | DatasourceInfo | 数据源详情 | 是 | 无 |
响应示例:
{
"code": 0,
"msg": null,
"result": {
// todo 待添加
}
"reqId": "b88d054742c04baea4cad4169be01daa",
"cost": 21
}
2.2.2 数据源列表获取
GET /datasource/v1/list
产品版本:v4.2.0
描述:根据数据源类型,分页返回数据源列表,注意数据源列表以项目组粒度返回
URL参数/请求体
| 名称 | 类型 | 描述 | 必须 | 默认值 | 备注 |
|---|---|---|---|---|---|
| datasourceType | String | 数据源类型 | 是 | 支持:all、kafka、mysql、oracle、es、redis、postgresql、hiveExt | |
| user | String | 当前登录的用户 | 是 | ||
| product | String | 项目名称 | 是 | ||
| pageSize | Number | 每页条数 | 否 | 10 | |
| pageNum | Number | 第几页 | 否 | 1 | |
| catalogName | String | catalog名称,支持模糊匹配 | 否 | ||
| datasourceName | String | 数据源名称,支持模糊匹配 | 否 | ||
| createTimeStart | Number | 创建时间前区间,毫秒时间戳 | 否 | ||
| createTimeEnd | Number | 创建时间后区间,毫秒时间戳 | 否 | ||
| updateTimeStart | Number | 更新时间前区间,毫秒时间戳 | 否 | ||
| updateTimeEnd | Number | 更新时间后区间,毫秒时间戳 | 否 | ||
| sortBy | String | 排序字段,目前支持 db_create_time(创建时间) |
否 | v5.12.0 新增 | |
| order | String | 顺序,支持: asc 正序 desc 倒序 |
若 | 若sortBy存在,默认asc | v5.12.0 新增 若传入枚举值错误(既不是asc,也不是desc),则取默认值 |
请求示例(参数未编码,调用时请编码):
product=testProduct&email=testUser@163.com&datasourceType=mysql&pageNum=1&pageSize=10
响应体
| 名称 | 类型 | 描述 | 必传 | 默认值 |
|---|---|---|---|---|
| code | Number | 状态码 | 是 | |
| msg | String | 错误信息 | 是 | |
| cost | Number | 接口消耗毫秒数 | 是 | |
| reqId | String | 请求ID | 是 | |
| result | Pageable<DatasourceInfo> | 数据源列表详情 | 是 | 无 |
响应示例:
{
"code": 0,
"msg": null,
"result": {
"pageNum": 1,
"pageSize": 10,
"totalCount": 23,
"totalPage": 3,
"list":\[
// todo 待添加
\]
}
"reqId": "b88d054742c04baea4cad4169be01daa",
"cost": 21
}
2.2.3 数据源密码加密公钥获取
GET /datasource/v1/rsa/publickey/get
产品版本:v5.9.0
描述:获取数据源密码加密使用的RSA公钥
URL参数/请求体
无
响应体
| 名称 | 类型 | 描述 | 必传 | 默认值 |
|---|---|---|---|---|
| code | Number | 状态码 | 是 | |
| cost | Number | 接口消耗毫秒数 | 是 | |
| reqId | String | 请求ID | 是 | |
| result | KeyInfo | 公钥详情 | 是 | 无 |
响应示例
{
"code": 0,
"cost": 4,
"reqId": "172a7050c56b9000",
"result": {
"publicKey": "asdasdbvaregqwgfqwrfeawefawefawefwefwfe"
}
}
2.2.4 不带文件的数据源编辑
POST /datasource/v1/modify
产品版本:v5.9.0
描述:不带文件的数据源详情编辑。
不支持修改源系统账号映射状态(即不能从不开启转为开启,反之亦然)。
仅支持物理数据源的修改。
不支持修改数据源的使用授权。
不支持自定义模板中规定了必填字段的数据源
URL参数/请求体
| 名称 | 类型 | 描述 | 必须 | 默认值 | 备注 |
|---|---|---|---|---|---|
| user | String | 当前登录的用户 | 是 | ||
| product | String | 项目名称 | 是 | ||
| datasourceId | Number | 数据源id | 是 | ||
| datasourceName | String | 数据源名称 | 否 | 不传即不改 | |
| datasourceOwner | String | 数据源负责人 | 否 | 不传即不改 | |
| assistManager | String | 数据源管理员 | 否 | 不传即不改 | |
| passwordClearOrNot | boolean | 是否清空密码 | 否 | false | 在info中,没有传递密码即不更改密码,如果要清空密码,请传true |
| info | DatasourceInfoDetail | 数据源参数详情 | 是 | 无 |
响应体
| 名称 | 类型 | 描述 | 必传 | 默认值 |
|---|---|---|---|---|
| code | Number | 状态码 | 是 | |
| cost | Number | 接口消耗毫秒数 | 是 | |
| reqId | String | 请求ID | 是 | |
| result | Boolean | 编辑是否成功 | 是 | 无 |
响应示例
{
"code": 0,
"cost": 1232,
"reqId": "172fcaafadaa3000",
"result": true
}
2.2.5 带文件的数据源编辑
POST /datasource/v1/modifyForFile
产品版本:v5.9.0
描述:带文件的数据源详情编辑。
不支持修改源系统账号映射状态(即不能从不开启转为开启,反之亦然)。
仅支持物理数据源的修改。
不支持修改数据源的使用授权。
不支持自定义模板中规定了必填字段的数据源
URL参数/请求体
注:上传文件,multipartFiles采用multipart/form-data形式,基础信息将json转成字符串使用datasourceModifyParam作为key
响应体
| 名称 | 类型 | 描述 | 必传 | 默认值 |
|---|---|---|---|---|
| code | Number | 状态码 | 是 | |
| cost | Number | 接口消耗毫秒数 | 是 | |
| reqId | String | 请求ID | 是 | |
| result | Boolean | 编辑是否成功 | 是 | 无 |
响应示例
{
"code": 0,
"cost": 1232,
"reqId": "172fcaafadaa3000",
"result": true
}
2.2.6 数据源删除
POST /datasource/v1/delete
产品版本:v5.9.0
描述:删除数据源
URL参数/请求体
| 名称 | 类型 | 描述 | 必须 | 默认值 |
|---|---|---|---|---|
| datasourceId | Number | 数据源id | 是 | |
| user | String | 当前登录的用户 | 是 | |
| product | String | 项目名称 | 是 | |
| clusterId | String | 集群id | 是 | 无 |
响应体
| 名称 | 类型 | 描述 | 必传 | 默认值 |
|---|---|---|---|---|
| code | Number | 状态码 | 是 | |
| cost | Number | 接口消耗毫秒数 | 是 | |
| reqId | String | 请求ID | 是 | |
| result | Boolean | 删除是否成功 | 是 | 无 |
响应示例
{
"code": 0,
"cost": 1232,
"reqId": "172fcaafadaa3000",
"result": true
}
2.2.7 数据源所需文件下载
GET /datasource/v1/file/download
产品版本:v5.9.0
描述:下载登记时上传的数据源配置文件
URL参数/请求体
| 名称 | 类型 | 描述 | 必传 | 默认值 |
|---|---|---|---|---|
| file | String | 文件路径 | 是 | |
| targetFileName | String | 文件名称 | 是 | 无 |
响应体
使用文件流接收,响应header为:
| Key | Value |
|---|---|
| Content-disposition | attachment; filename=downloaded_file_name.ext |
| Content-Type | multipart/form-data |
2.2.8 数据源密码解密
GET /datasource/v1/rsa/decrypt
产品版本:v5.9.0
描述:解密数据源密码的密文,生成明文
URL参数/请求体
| 名称 | 类型 | 描述 | 必传 | 默认值 |
|---|---|---|---|---|
| message | String | 要解密的密文 | 是 | 无 |
响应体
| 名称 | 类型 | 描述 | 必传 | 默认值 |
|---|---|---|---|---|
| code | Number | 状态码 | 是 | |
| cost | Number | 接口消耗毫秒数 | 是 | |
| reqId | String | 请求ID | 是 | |
| result | String | 解密后的明文 | 是 | 无 |
响应示例
{
"code": 0,
"cost": 4,
"reqId": "172a7050c56b9000",
"result": "password"
}
2.2.9 不带文件的数据源登记
POST /datasource/v1/create
产品版本:v5.9.0
描述:不带文件的数据源详情登记。
仅支持物理数据源的登记。
不支持数据源自定义项中规定了必填字段的数据源。
不支持自定义参数填写。
使用授默认对项目组下所有项目授权。
按照用户需求,目前支持类型包括:
mysql,oracle,kafka,tidb,es,redis,postgresql,hiveExt
URL参数/请求体
| 名称 | 类型 | 描述 | 必须 | 默认值 | 备注 |
|---|---|---|---|---|---|
| user | String | 当前登录用户 | 是 | ||
| product | String | 项目名称 | 是 | ||
| datasourceName | String | 数据源名称 | 是 | ||
| catalog | String | 数据源标识 | 是 | ||
| datasourceType | String | 数据源类型 | 是 | ||
| datasourceOwner | String | 数据源负责人 | 是 | ||
| assistManager | List |
管理员 | 否 | ||
| enableSourceSystemAccountMapping | Boolean | 是否开启源系统账号映射 | 否 | false | 目前支持登记的数据源类型仅MySQL、Oracle支持源系统账号映射 |
| info | DatasourceInfo | 数据源登记实体 | 是 | 对应登记规范:[登记数据源info格式说明] |
响应体
| 名称 | 类型 | 描述 | 必传 | 默认值 |
|---|---|---|---|---|
| code | Number | 状态码 | 是 | |
| cost | Number | 接口消耗毫秒数 | 是 | |
| msg | String | 错误信息 | 是 | |
| reqId | String | 请求ID | 是 | |
| result | Long | 登记成功返回数据源id | 是 | 无 |
响应示例
{
"code": 0,
"cost": 1232,
"msg": null,
"reqId": "172fcaafadaa3000",
"result": 10001
}
2.2.10 带文件的数据源登记
POST /datasource/v1/createForFile
产品版本:v5.9.0
描述:带文件的数据源详情登记。
仅支持物理数据源的登记。
不支持数据源自定义项中规定了必填字段的数据源。
不支持自定义参数填写。
使用授默认对项目组下所有项目授权。
URL参数/请求体
| 名称 | 类型 | 描述 | 必须 | 默认值 | 备注 | |
| datasourceCreateParamObj | user | String | 当前登录的用户 | 是 | ||
| product | String | 项目名称 | 是 | |||
| datasourceName | String | 数据源名称 | 是 | |||
| catalog | String | 数据源标识 | 是 | |||
| datasourceType | String | 数据源类型 | 是 | |||
| datasourceOwner | String | 数据源负责人 | 是 | |||
| assistManager | List<String> | 管理员 | 否 | |||
| info | DatasourceInfo | 数据源登记实体 | 是 | 对应登记规范:登记数据源info格式说明 | ||
| multipartFiles | List<MultipartFile> | 上传的文件集合 | 是 | 注意与filesKeyNames一一对应 | ||
| filesKeyNames | List<String> | 上传的文件名称集合 | 是 | keytab:keytab.file.path krb5.conf: krb5.conf.path | 同上 | |
注:上传文件,multipartFiles采用multipart/form-data形式,基础信息将json转成字符串使用datasourceCreateParamObj作为key
响应体
| 名称 | 类型 | 描述 | 必传 | 默认值 |
|---|---|---|---|---|
| code | Number | 状态码 | 是 | |
| cost | Number | 接口消耗毫秒数 | 是 | |
| msg | String | 错误信息 | 是 | |
| reqId | String | 请求ID | 是 | |
| result | Long | 返回登记成功的数据源ID | 是 | 无 |
响应示例
{
"code": 0,
"cost": 1232,
"msg": null,
"reqId": "172fcaafadaa3000",
"result": 111111
}
2.2.11 查看数据源版本
GET /datasource/v1/version/get
产品版本:v5.9.0
描述:查看数据源版本
按照用户需求,目前支持类型包括:
mysql,oracle,kafka,tidb,es,redis,postgresql,hiveExt
URL参数/请求体
| 名称 | 类型 | 描述 | 必须 | 默认值 | 备注 |
|---|---|---|---|---|---|
| user | String | 当前登录的用户 | 是 | ||
| datasourceType | String | 数据源类型 | 是 | 无 |
响应体
| 名称 | 类型 | 描述 | 必传 | 默认值 |
|---|---|---|---|---|
| code | Number | 状态码 | 是 | |
| msg | String | 错误信息 | 是 | |
| cost | Number | 接口消耗毫秒数 | 是 | |
| reqId | String | 请求ID | 是 | |
| result | List<String> | 数据源版本列表 | 是 | 无 |
响应示例:
{
"code": 0,
"msg": null,
"result": \["5", "8"\]
"reqId": "b88d054742c04baea4cad4169be01daa",
"cost": 21
}
2.3 数据源库表列获取API(目前仅支持Hive)
2.3.1 数据源库列表获取
GET /database/v1/list
产品版本:v4.9.0
描述:获取某数据源database信息
URL参数/请求体
| 名称 | 类型 | 描述 | 必须 | 默认值 |
|---|---|---|---|---|
| datasourceId | Number | 数据源id | 是 | |
| product | String | 项目名称 | 是 | |
| user | String | 当前登录用户 | 是 | |
| pageSize | Number | 每页条数 | 否 | 10 |
| pageNum | Number | 第几页 | 否 | 1 |
请求示例(参数未编码,调用时请编码):
datasourceId=1&product=data_transform&user=grp.mammut@163.com&pageNum=1&pageSize=10
响应体
| 名称 | 类型 | 描述 | 必传 | 默认值 |
|---|---|---|---|---|
| code | Number | 状态码 | 是 | |
| msg | String | 错误信息 | 是 | |
| cost | Number | 接口消耗毫秒数 | 是 | |
| reqId | String | 请求ID | 是 | |
| result | PageResult<DatabaseInfo> | database详情 | 是 | 无 |
响应示例:
{
"code": 0,
"msg": null,
"result": {
"pageNum": 1,
"pageSize": 10,
"totalCount": 23,
"totalPage": 3,
"list":\[
{
"db": "default"
},
{
......
}
......
\]
}
"reqId": "b88d054742c04baea4cad4169be01daa",
"cost": 21
}
2.3.2 数据源表名列表获取
GET /table/v1/name/list
产品版本:v4.9.0
描述:获取某数据源某db下table名列表
URL参数/请求体
| 名称 | 类型 | 描述 | 必须 | 默认值 |
|---|---|---|---|---|
| datasourceId | Number | 数据源id | 是 | |
| product | String | 项目名称 | 是 | |
| user | String | 当前登录用户 | 是 | |
| db | String | 数据库名 | 是 | |
| pageSize | Number | 每页条数 | 否 | 10 |
| pageNum | Number | 第几页 | 否 | 1 |
请求示例(参数未编码,调用时请编码):
datasourceId=1&product=mammut&user=grp.mammut@163.com&db=default&pageNum=1&pageSize=10
响应体
| 名称 | 类型 | 描述 | 必传 | 默认值 |
|---|---|---|---|---|
| code | Number | 状态码 | 是 | |
| msg | String | 错误信息 | 是 | |
| cost | Number | 接口消耗毫秒数 | 是 | |
| reqId | String | 请求ID | 是 | |
| result | PageResult <String> | table名列表 | 是 | 无 |
响应示例:
{
"code": 0,
"msg": null,
"result": {
"pageNum": 1,
"pageSize": 10,
"totalCount": 23,
"totalPage": 3,
"list":\[
"table1","table2",......
\]
}
"reqId": "b88d054742c04baea4cad4169be01daa",
"cost": 21
}
2.3.3 数据源表详情列表获取
GET /table/v1/list
产品版本:v4.9.0
描述:获取某数据源某db下table名列表
URL参数/请求体
| 名称 | 类型 | 描述 | 必须 | 默认值 |
|---|---|---|---|---|
| datasourceId | Number | 数据源id | 是 | |
| product | String | 项目名称 | 是 | |
| user | String | 当前登录用户 | 是 | |
| db | String | 数据库名 | 是 | |
| pageSize | Number | 每页条数 | 否 | 10 |
| pageNum | Number | 第几页 | 否 | 1 |
请求示例(参数未编码,调用时请编码):
datasourceId=11&product=mammut&user=grp.mammut@163.com&db=default&pageNum=1&pageSize=10
响应体
| 名称 | 类型 | 描述 | 必传 | 默认值 |
|---|---|---|---|---|
| code | Number | 状态码 | 是 | |
| msg | String | 错误信息 | 是 | |
| cost | Number | 接口消耗毫秒数 | 是 | |
| reqId | String | 请求ID | 是 | |
| result | PageResult<TableInfo> | table名列表 | 是 | 无 |
响应示例:
{
"code": 0,
"msg": null,
"result": {
"pageNum": 1,
"pageSize": 10,
"totalCount": 23,
"totalPage": 3,
"list":\[
{
"table": "test\_table",
"creator": "zhangsan",
"createdTime": "2022-06-13 02:00:00",
"comment": "测试表",
"tableType": "MANAGED\_TABLE",
"fields":\[
{
"fieldName": "id",
"fieldType": "int",
"partitionKey": false,
"comment": "id名"
},
{
......
}
......
\]
},
{
......
}
......
\]
}
"reqId": "b88d054742c04baea4cad4169be01daa",
"cost": 21
}
2.3.4 数据源表详情获取
GET /table/v1/get
产品版本:v4.9.0
描述:获取某数据源某db某张表详情
URL参数/请求体
| 名称 | 类型 | 描述 | 必须 | 默认值 |
|---|---|---|---|---|
| datasourceId | Number | 数据源id | 是 | |
| product | String | 项目名称 | 是 | |
| user | String | 当前登录用户 | 是 | |
| db | String | 数据库名 | 是 | |
| table | String | 表名 | 是 | 无 |
请求示例(参数未编码,调用时请编码):
datasourceId=11&product=mammut&user=grp.mammut@163.com&db=default&table=test
响应体
| 名称 | 类型 | 描述 | 必传 | 默认值 |
|---|---|---|---|---|
| code | Number | 状态码 | 是 | |
| msg | String | 错误信息 | 是 | |
| cost | Number | 接口消耗毫秒数 | 是 | |
| reqId | String | 请求ID | 是 | |
| result | TableInfo | table详情 | 是 | 无 |
响应示例:
{
"code": 0,
"msg": null,
"result": {
"table": "test\_table",
"creator": "zhangsan",
"createdTime": "2022-06-13 02:00:00",
"comment": "测试表",
"tableType": "MANAGED\_TABLE",
"fields":\[
{
"fieldName": "id",
"fieldType": "int",
"partitionKey": false,
"comment": "id名"
},
{
......
}
......
\]
},
"reqId": "b88d054742c04baea4cad4169be01daa",
"cost": 21
}
2.4 血缘获取API
2.4.1 表血缘获取详情
GET /lineage/v1/table/get
产品版本:v5.7.0
描述:获取某张表上下游的表血缘
URL参数/请求体
| 名称 | 类型 | 描述 | 必须 | 默认值 |
|---|---|---|---|---|
| datasourceId | Number | 数据源id | 是 | |
| product | String | 项目名称 | 是 | |
| user | String | 当前登录用户 | 是 | |
| db | String | 数据库名 | 是 | |
| table | String | 表名 | 是 | |
| direction | String | 上下游,up/down | 是 | |
| startTime | Number | 起始时间 | 否 | 毫秒值 |
| endTime | Number | 终止时间 | 否 | 毫秒值 |
| pageSize | Number | 每页条数 | 否 | 10,最大500(出于性能考虑) |
| pageNum | Number | 第几页 | 否 | 1 |
| enablePaging | Boolean | 是否开启分页 | 否 | 默认开启,关闭后pageNum = 1,pageSize=Integer.MAX |
请求示例(参数未编码,调用时请编码):
datasourceId=11&product=mammut&user=grp.mammut@163.com&db=default&table=test&direction=up&pageSize=10&pageNum=0
响应体
| 名称 | 类型 | 描述 | 必传 | 默认值 |
|---|---|---|---|---|
| code | Number | 状态码 | 是 | |
| msg | String | 错误信息 | 是 | |
| cost | Number | 接口消耗毫秒数 | 是 | |
| reqId | String | 请求ID | 是 | |
| result | LineageTableInfo | 表血缘详情列表 | 是 | 无 |
响应示例:
{
"code": 0,
"msg": null,
"result": {
"datasourceId": 111,
"catalog": "catalog\_011",
"db": "default",
"table": "test",
"tableId": "catalog\_011.default.test",
"datasourceType": "hive",
"updateTime": 1678074656000,
"direction": "up",
"parentList":\[
"pageNum": 1,
"pageSize": 10,
"totalCount": 23,
"totalPage": 3,
{
"datasourceId":111,
"catalog": "catalog\_011",
"db": "default",
"table": "test11",
"tableId": "catalog\_011.default.test11",
"datasourceType": "hive",
"updateTime": 1678074656000,
"platform":"mammut",
"taskId":"12223"
},
{
......
}
......
\],
"referList":\[
{
"nodeId":"111",
"nodeName": "apiTest",
"source": "api",
"nodeUpdateTime": 1678074656000,
"relUpdateTime": 1678074656000
},
{
......
}
......
\]
},
"reqId": "b88d054742c04baea4cad4169be01daa",
"cost": 21
}
2.4.2 字段血缘获取详情
GET /lineage/v1/field/get
产品版本:v5.7.0
描述:获取某个字段上下游的血缘
URL参数/请求体
| 名称 | 类型 | 描述 | 必须 | 默认值 |
|---|---|---|---|---|
| datasourceId | Number | 数据源id | 是 | |
| product | String | 项目名称 | 是 | |
| user | String | 当前登录用户 | 是 | |
| db | String | 数据库名 | 是 | |
| table | String | 表名 | 是 | |
| fieldName | String | 字段名 | 是 | |
| direction | String | 上下游方向,up/down | 是 | |
| fieldRelation | String | 字段间关系 | 否 | 默认PROJECTION 可选PROJECTION/PREDICATE |
| startTime | Number | 起始时间 | 否 | 毫秒值 |
| endTime | Number | 终止时间 | 否 | 毫秒值 |
| pageSize | Number | 每页条数 | 否 | 10,最大500(出于性能考虑) |
| pageNum | Number | 第一页 | 否 | 1 |
| enablePaging | Boolean | 是否开启分页 | 否 | 默认开启,关闭后pageNum = 1,pageSize=Integer.MAX |
请求示例(参数未编码,调用时请编码):
datasourceId=11&product=mammut&user=grp.mammut@163.com&db=default&table=test&fieldName=a&direction=up&pageSize=10&pageNum=0
响应体
| 名称 | 类型 | 描述 | 必传 | 默认值 |
|---|---|---|---|---|
| code | Number | 状态码 | 是 | |
| msg | String | 错误信息 | 是 | |
| cost | Number | 接口消耗毫秒数 | 是 | |
| reqId | String | 请求ID | 是 | |
| result | LineageFieldInfo | 字段血缘详情列表 | 是 | 无 |
响应示例:
{
"code": 0,
"msg": null,
"result": {
"datasourceId":111,
"catalog": "catalog\_011",
"db": "default",
"table": "test",
"filedName":"a",
"fieldId": "catalog\_011.default.test.a",
"datasourceType": "hive",
"direction":"up",
"updateTime": 1678074656000,
"parentList":\[
"pageNum": 1,
"pageSize": 10,
"totalCount": 23,
"totalPage": 3,
{
"datasourceId":111,
"catalog": "catalog\_011",
"db": "default",
"table": "test11",
"fieldName": "a",
"fieldId": "catalog\_011.default.test11.a",
"fieldRelation":"PROJECTION",
"datasourceType": "hive",
"updateTime": 1678074656000,
"platform":"mammut",
"taskId":"12223"
},
{
......
}
......
\]
\],
"referList":\[
{
"nodeId":"111",
"nodeName": "apiTest",
"source": "api",
"nodeUpdateTime": 1678074656000,
"relUpdateTime": 1678074656000
},
{
......
}
......
\]
},
"reqId": "b88d054742c04baea4cad4169be01daa",
"cost": 21
}