数据集 Open API 包含了:数据集操作 API、数据集信息 API、数据集维度指标与血缘关系 API、数据集同步任务 API、数据集可视化查询参数与开放查询 API、数据集模型画布与运维类工具 API、项目内数据集 API。
本文为您介绍的是“数据集维度指标类与数据集血缘关系类的 Open API”,您将了解到用户可以通过 API 进行查看、更新数据集维度指标分类信息以及查看数据集血缘统计信息、完整信息、上游数据源信息等操作。
注意:在您使用本文所述的 API 前,还需完成接入 JWT-Token 和申请 Token 的前置操作,详情可阅读数据集 Open API 概述。
- 新接口 V4 版本采用标准的 restful 接口命名方式,即资源+行为的命名方式。
- 针对每个接口提供直接可以导入 postMan 的 请求示例,方便客户体验,由于各环境 DataWind 域名和各个请求中都含有通用含义的变量,因此各接口的 cURL 实例中均采用{{}}包裹变量,
{{变量}}
格式可直接被 postMan 识别。- 变量对照含义表:
jwtToken -> {{jwtToken}} aeolus 域名 -> {{domain}} 项目 ID -> {{appId}} 数据集 ID -> {{dataSetId}} 数据集标签 Id {{tagId}} 数据集文件夹 Id {{dataSetFolderId}}
权限需求
资源 | 权限 |
---|---|
数据集 | read |
接口描述与说明查看数据集维度指标信息。
{domain}}/aeolus/api/v4/open/dataset/{{dataSetId}}/dimMet
curl --location --request GET '{{domain}}/aeolus/api/v4/open/dataset/{{dataSetId}}/dimMet' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer {{jwtToken}}'
参数 | 类型 | 必选 | 枚举值 | 描述 |
---|---|---|---|---|
dataSetId | integer | 是 | 数据集ID |
参数 | 类型 | 描述 |
---|---|---|
$.dimMetList | object | 数据集维度指标属性 |
$.dimMetList[i].groupType | integer | 维度指标组字段类型 |
$.dimMetList[i].calcType | string | 表计算字段类型 |
$.dimMetList[i].dimMetOrder | integer | 数据集维度指标序号 |
$.dimMetList[i].expr | string | 数据集维度指标表达式 |
$.dimMetList[i].fullExpr | string | 数据集维度指标完整表达式(解析出所有字段引用) |
$.dimMetList[i].fieldList | string | 数据集维度指标使用到的数据源字段列表 |
$.dimMetList[i].descr | string | 数据集维度指标描述 |
$.dimMetList[i].id | integer | 数据集维度指标ID |
$.dimMetList[i].mapType | integer | 字段类型[0为维度;1为指标] |
$.dimMetList[i].name | string | 数据集维度指标名称 |
$.dimMetList[i].ownerEmailPrefix | string | 数据集维度指标创建人 |
$.schema | list | 数据集对应底表的字段内容 |
$.schema[i].dataSourceType | string | 底表字段存储引擎类型 |
$.schema[i].status | integer | 底表字段状态 |
$.schema[i].name | string | 底表字段名称 |
$.schema[i].type | string | 底表字段类型 |
{ "code": "aeolus/ok", "data": { "dataSetName": "测试open-api专用数据集1", "dataSetType": 22, "dimMetList": [ ........... { "calcType": null, "dataFormat": null, "dataTypeName": "string", "defaultDataTypeName": "string", "descr": null, "dimMetCategoryId": null, "dimMetCategoryType": null, "dimMetMixOrder": 4, "dimMetOrder": 4, "dimMetThirdPartyConf": null, "dimMetVariety": 2, "editable": 1, "errCode": "ok", "expr": "`字段二`", "exprAsDim": null, "fieldList": "[\"字段二\"]", "fullExpr": "`字段二`", "groupType": 0, "hitFilterRuleList": [], "id": 158***********, "isDeletedField": 0, "isPartitionField": 0, "lodType": null, "mapType": 0, "name": "字段二", "operationCode": 0, "ownerEmailPrefix": "userEmailPrefix", "paramIdList": [], "showExpr": 1, "visible": 1 } ], "ownerEmailPrefix": "userEmailPrefix", "schema": [ { "dataSourceType": "click_house", "name": "p_date", "status": 0, "type": "Date" }, { "dataSourceType": "click_house", "name": "`字段四`", "status": 0, "type": "Nullable(String)" }, { "dataSourceType": "click_house", "name": "`字段一`", "status": 0, "type": "Nullable(String)" }, { "dataSourceType": "click_house", "name": "`字段三`", "status": 0, "type": "Nullable(String)" }, { "dataSourceType": "click_house", "name": "`字段二`", "status": 0, "type": "Nullable(String)" } ] }, "msg": "成功" }
无
权限需求
资源 | 权限 |
---|---|
数据集 | write |
接口描述与说明更新维度指标信息,注意此接口的更新为全量更新,不支持单字段的覆盖修改。
{domain}}/aeolus/api/v4/open/dataset/{{dataSetId}}/dimMet
curl --location --request PUT '{{domain}}/aeolus/api/v4/open/dataset/{{dataSetId}}/dimMet' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoib3BlbmFwaSIsInVzZXJuYW1lIjoiaHVzaW1pbi54Y2wiLCJ1c2VyX3BheWxvYWQiOnt9LCJleHAiOjE2NzExMTk2NDUsImNsaWVudF9pZCI6ImQ5MGRhNTUxMDViZDRmODY3MGE1MWI2MzNlYmZlODU0In0.obtS6Hfpadpg2PGZCi_pgDui54IL14XEcP0rnPiXVJm2lQEyvi6morYeLrGEQMokf3LnBzH46D_ME90NqT7gtzaVmkfp-W4N8aGKRmv4HFImOfysOjsa-7NRHYrNqcoyPxd1-LpB711d_EtWAvaOVK6ZeD58KtidXqd1vHPK2iFDg_ngV0hkfLZeMY0XkvPVKoejBqA3BkDh2Jpp5FH60r9lwqCL4ngN4mo1bZb2SPnXtKndXlVn7d6ZTDhWdCGJ0Y5LZ45lvwE7Y_IaDdN1odcpRsLPAZMhbNcU9uFIFVicQpNBaYMsqf0LAgV6zf2QNdPi6cyxI_BYYkZWXyJTTE9EpBY1gy8_Uj2JPr96I-XNdrkDDucoRbERXBX_wpjzbJNe_rRBm7WME-u4DOI4pel41VaCUzSGz4rJG-4IOemgUvoPjewnx6bPXt_k0uoVN-ZcIr_Mco5lj7sNAcFLx-uJowdiVGQjxsc6-UGwQWjcsCIARCsitGD2OUMriSLey6JU7CQFLyeJ51YXUkB0hYBdgvWGfWl3QXevp9G7de_2QeCSyMffcK_k24aE1eDlkmI4xjDR60rGnZIMiT93LnIsE5GnjxMp36S3uFXHYvI35t92AmKT04lKGEK2OabIGfWPRJVD53YttlRJVf_RCA9CqoZoZQl-lBTGJDSvsVE' \ --data-raw '{ "dimMetList": [ { "calcType": null, "dataFormat": null, "dataTypeName": "date", "defaultDataTypeName": "date", "descr": "p_date", "dimMetCategoryId": null, "dimMetCategoryType": null, "dimMetMixOrder": 0, "dimMetOrder": 0, "dimMetThirdPartyConf": null, "dimMetVariety": 1, "editable": false, "errCode": "ok", "expr": "p_date", "exprAsDim": null, "fieldList": "[\"p_date\"]", "fullExpr": "p_date", "groupType": 0, "hitFilterRuleList": [], "id": 158**********, "isDeletedField": 0, "isPartitionField": 1, "lodType": null, "mapType": 0, "name": "p_date", "operationCode": 0, "ownerEmailPrefix": "userEmailPrefix", "paramIdList": [], "showExpr": 1, "visible": 1, "defaultType": "date", "type": "date", "castDataTypeName": null, "isGroupField": false, "nameErrMsg": "" }, { "calcType": null, "dataFormat": null, "dataTypeName": "string", "defaultDataTypeName": "string", "descr": null, "dimMetCategoryId": null, "dimMetCategoryType": null, "dimMetMixOrder": 2, "dimMetOrder": 2, "dimMetThirdPartyConf": null, "dimMetVariety": 2, "editable": true, "errCode": "ok", "expr": "`字段一`", "exprAsDim": null, "fieldList": "[\"字段一\"]", "fullExpr": "`字段一`", "groupType": 0, "hitFilterRuleList": [], "id": 15***********, "isDeletedField": 0, "isPartitionField": 0, "lodType": null, "mapType": 0, "name": "字段一", "operationCode": 0, "ownerEmailPrefix": "userEmailPrefix", "paramIdList": [], "showExpr": 1, "visible": 1, "defaultType": "string", "type": "string", "castDataTypeName": null, "isGroupField": false, "nameErrMsg": "" } ] }'
参数 | 类型 | 描述 |
---|---|---|
$.dimMetList | object | 数据集维度指标属性 |
$.dimMetList[i].groupType | integer | 维度指标组字段类型 |
$.dimMetList[i].calcType | string | 表计算字段类型 |
$.dimMetList[i].dimMetOrder | integer | 数据集维度指标序号 |
$.dimMetList[i].expr | string | 数据集维度指标表达式 |
$.dimMetList[i].fullExpr | string | 数据集维度指标完整表达式(解析出所有字段引用) |
$.dimMetList[i].fieldList | string | 数据集维度指标使用到的数据源字段列表 |
$.dimMetList[i].descr | string | 数据集维度指标描述 |
$.dimMetList[i].id | integer | 数据集维度指标ID |
$.dimMetList[i].mapType | integer | 字段类型[0为维度;1为指标] |
$.dimMetList[i].name | string | 数据集维度指标名称 |
$.dimMetList[i].ownerEmailPrefix | string | 数据集维度指标创建人 |
{ "code": "aeolus/ok", "data": { "deleteAffectedRows": 0, "upsertAffectedRows": 5 }, "msg": "成功" }
无
权限需求
资源 | 权限 |
---|---|
数据集 | read |
接口描述与说明查看数据集级别的维度指标分类。
{domain}}/aeolus/api/v4/open/dataset/{{dataSetId}}/dimMetCategory
curl --location --request GET '{{domain}}/aeolus/api/v4/open/dataset/{{dataSetId}}/dimMetCategory' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer {{jwtToken}}'
参数 | 类型 | 必选 | 枚举值 | 描述 |
---|---|---|---|---|
dataSetId | integer | 是 | 数据集ID |
参数 | 类型 | 描述 |
---|---|---|
categoryOrder | integer | 维度指标分类order排序 |
categoryType | integer | 维度指标分类级别 [0为数据集级别, 1为项目级别] |
id | integer | 维度指标分类ID |
name | string | 维度指标分类名称 |
{ "code": "aeolus/ok", "data": { "categorySwitch": 0, "dimMetCategoryList": [ { "categoryOrder": 0, "categoryType": 0, "dataSetId": {{dataSetId}}, "id": 10000169, "name": "维度指标分类2" }, { "categoryOrder": 1, "categoryType": 0, "dataSetId": {{dataSetId}}, "id": 100*****, "name": "维度指标分类1" } ] }, "msg": "成功" }
无
权限需求
资源 | 权限 |
---|---|
数据集 | write |
接口描述与说明更新数据集中维度指标分类;注意此处为全量更新覆盖更新,不支持单个更新。
{domain}}/aeolus/api/v4/open/dataset/{{dataSetId}}/dimMetCategory
curl --location --request PUT '{{domain}}/aeolus/api/v4/open/dataset/{{dataSetId}}/dimMetCategory' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoib3BlbmFwaSIsInVzZXJuYW1lIjoiaHVzaW1pbi54Y2wiLCJ1c2VyX3BheWxvYWQiOnt9LCJleHAiOjE2NzExMTk2NDUsImNsaWVudF9pZCI6ImQ5MGRhNTUxMDViZDRmODY3MGE1MWI2MzNlYmZlODU0In0.obtS6Hfpadpg2PGZCi_pgDui54IL14XEcP0rnPiXVJm2lQEyvi6morYeLrGEQMokf3LnBzH46D_ME90NqT7gtzaVmkfp-W4N8aGKRmv4HFImOfysOjsa-7NRHYrNqcoyPxd1-LpB711d_EtWAvaOVK6ZeD58KtidXqd1vHPK2iFDg_ngV0hkfLZeMY0XkvPVKoejBqA3BkDh2Jpp5FH60r9lwqCL4ngN4mo1bZb2SPnXtKndXlVn7d6ZTDhWdCGJ0Y5LZ45lvwE7Y_IaDdN1odcpRsLPAZMhbNcU9uFIFVicQpNBaYMsqf0LAgV6zf2QNdPi6cyxI_BYYkZWXyJTTE9EpBY1gy8_Uj2JPr96I-XNdrkDDucoRbERXBX_wpjzbJNe_rRBm7WME-u4DOI4pel41VaCUzSGz4rJG-4IOemgUvoPjewnx6bPXt_k0uoVN-ZcIr_Mco5lj7sNAcFLx-uJowdiVGQjxsc6-UGwQWjcsCIARCsitGD2OUMriSLey6JU7CQFLyeJ51YXUkB0hYBdgvWGfWl3QXevp9G7de_2QeCSyMffcK_k24aE1eDlkmI4xjDR60rGnZIMiT93LnIsE5GnjxMp36S3uFXHYvI35t92AmKT04lKGEK2OabIGfWPRJVD53YttlRJVf_RCA9CqoZoZQl-lBTGJDSvsVE' \ --data-raw '{ "dimMetCategoryList": [ { "categoryOrder": 0, "categoryType": 0, "id": 10******, "name": "维度指标分类2-修改" }, { "categoryOrder": 1, "categoryType": 0, "id": 10******, "name": "维度指标分类1" } ] }'
请求参数
参数 | 类型 | 必选 | 枚举值 | 描述 |
---|---|---|---|---|
dataSetId | integer | 是 | 数据集ID | |
categoryOrder | integer | 是 | range(0,n) | 维度指标分类序号 |
categoryType | integer | 是 | 0,1 | 默认均传0 |
id | integer | 是 | 维度指标分类ID | |
name | string | 是 | 维度指标分类名称 |
{ "code": "aeolus/ok", "data": { "dimMetCategoryList": [ { "categoryOrder": 0, "categoryType": 0, "dataSetId": {{dataSetId}}, "id": 100******, "name": "维度指标分类2-修改" }, { "categoryOrder": 1, "categoryType": 0, "dataSetId": {{dataSetId}}, "id": 100******, "name": "维度指标分类1" } ] }, "msg": "成功" }
无
权限需求
资源 | 权限 |
---|---|
数据集 | read |
接口描述与说明查看数据集的血缘统计,包含上下游的使用统计情况。
{domain}}/aeolus/api/v4/open/dataset/{{dataSetId}}/lineageStatistics
curl --location --request GET '{{domain}}/aeolus/api/v4/open/dataset/{{dataSetId}}/lineageStatistics' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer {{jwtToken}}'
参数 | 类型 | 必选 | 枚举值 | 描述 |
---|---|---|---|---|
dataSetId | integer | 是 | 数据集ID |
<span id="fc2ec297"></span>
参数 | 类型 | 描述 |
---|---|---|
down | object | 数据集血缘下游 |
up | object | 数据集血缘上游 |
dashboard | integer | 仪表盘 |
report | integer | 图标 |
data_set | integer | 数据集 |
{ "code": "aeolus/ok", "data": { "down": { "dashboard": 1, "data_set": 0, "report": 2 }, "total": 3, "up": { "data_set": 0 } }, "msg": "成功" }
无
权限需求
资源 | 权限 |
---|---|
数据集 | read |
接口描述与说明查看数据上下游血缘的具体资源信息,对应产品前端的血缘视图.
{domain}}/aeolus/api/v4/open/dataset/{{dataSetId}}/upstreamLineage
curl --location --request GET '{{domain}}/aeolus/api/v4/open/dataset/{{dataSetId}}/lineage' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer {{jwtToken}}'
参数 | 类型 | 必选 | 枚举值 | 描述 |
---|---|---|---|---|
dataSetId | integer | 是 | 数据集ID |
参数 | 类型 | 描述 |
---|---|---|
resourceAppId | integer | 资源所在项目ID |
resourceAppName | string | 资源所在项目名称 |
resourceFolder | string | 资源所在文件夹路径 |
resourceId | integer | 资源ID |
resourceName | string | 资源名称 |
resourceOwner | string | 资源拥有者 |
resourceType | string | 资源类型 |
resourceTypeName | string | 资源类型名称 |
resourceUpDownstream | string | 资源为当前数据集的上/下游 |
resourceUrl | string | 资源URL |
{ "code": "aeolus/ok", "data": { "resourceList": [ { "resourceAppId": 7777947, "resourceAppName": "测试项目-名称", "resourceFolder": "公共仪表盘", "resourceId": 155459, "resourceName": "测试", "resourceOwner": "userEmailPrefix_1", "resourceType": "dashboard", "resourceTypeName": "仪表盘", "resourceUpDownstream": "down", "resourceUrl": "#/dashboard/155***?appId=7******", "role": [] }, { "resourceAppId": 7******, "resourceAppName": "测试项目-名称", "resourceFolder": "/", "resourceId": 6****, "resourceName": "test", "resourceOwner": "userEmailPrefix_2", "resourceType": "report", "resourceTypeName": "图表", "resourceUpDownstream": "down", "resourceUrl": "#/dataQuery?rid=63939&appId=7******" }, { "resourceAppId": 7******, "resourceAppName": "测试项目-参数", "resourceFolder": "/", "resourceId": 6****, "resourceName": "血缘关联可视化查询", "resourceOwner": "userEmailPrefix", "resourceType": "report", "resourceTypeName": "图表", "resourceUpDownstream": "down", "resourceUrl": "#/dataQuery?rid=63987&appId=77*****" } ], "total": 3 }, "msg": "成功" }
无
支持版本56.1版本及以上
权限需求
资源 | 权限 |
---|---|
数据集 | read |
接口描述与说明该接口可以返回数据集模型配置中使用到的上游信息。
{domain}}/aeolus/api/v4/open/dataset/{{dataSetId}}/lineage
curl --location --request GET 'curl --location --request GET '{{domain}}/aeolus/api/v4/open/dataset/{{dataSetId}}/upstreamLineage' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer {{jwtToken}}'
参数 | 类型 | 必选 | 枚举值 | 描述 |
---|---|---|---|---|
dataSetId | integer | 是 | 数据集ID |
参数 | 类型 | 描述 |
---|---|---|
dataSourceId | string | 上游数据源ID -> 该信息比较底层,如不需要可忽略 |
dataSourceType | string | 上游数据源的类型 常见枚举值👇🏻
|
dataSetName | string | 资源所在文件夹路径 |
latestDataSetName | string | 资源ID |
dataSetId | integer | 资源名称 |
appId | integer | 资源拥有者 |
clusterName | string | 资源类型 |
dbName | string | 资源类型名称 |
tableName | string | 资源为当前数据集的上/下游 |
sql | string | 资源URL |
{ 功" }
无