元数据中心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
}