You need to enable JavaScript to run this app.
导航

数据集维度指标与血缘关系 API

最近更新时间2024.03.15 15:26:25

首次发布时间2024.03.15 14:51:07

1. 概述

数据集 Open API 包含了:数据集操作 API、数据集信息 API、数据集维度指标与血缘关系 API、数据集同步任务 API、数据集可视化查询参数与开放查询 API、数据集模型画布与运维类工具 API、项目内数据集 API。
本文为您介绍的是“数据集维度指标类与数据集血缘关系类的 Open API”,您将了解到用户可以通过 API 进行查看、更新数据集维度指标分类信息以及查看数据集血缘统计信息、完整信息、上游数据源信息等操作。
注意:在您使用本文所述的 API 前,还需完成接入 JWT-Token 和申请 Token 的前置操作,详情可阅读数据集 Open API 概述

2. 接口说明
  • 新接口 V4 版本采用标准的 restful 接口命名方式,即资源+行为的命名方式。

  • 针对每个接口提供直接可以导入 postMan 的 cURL 示例,方便客户体验,由于各环境 DataWind 域名和各个请求中都含有通用含义的变量,因此各接口的 cURL 实例中均采用{{}}包裹变量,{{变量}}格式可直接被 postMan 识别。

  • 变量对照含义表:

jwtToken -> {{jwtToken}}
aeolus 域名 -> {{domain}} 
项目 ID -> {{appId}} 
数据集 ID -> {{dataSetId}} 
数据集标签 Id {{tagId}}
数据集文件夹 Id {{dataSetFolderId}}
  • 本功能适用的版本: 2.48.0及以上
3. 数据集维度指标

3.1 查看数据集维度指标信息

  • 权限需求

    资源权限
    数据集read
  • 接口描述与说明查看数据集维度指标信息。

  • 接口路径{{domain}}/aeolus/api/v4/open/dataset/{{dataSetId}}/dimMet

  • cURL 示例

    curl --location --request GET '{{domain}}/aeolus/api/v4/open/dataset/{{dataSetId}}/dimMet' \
    --header 'Content-Type: application/json' \
    --header 'Authorization: Bearer {{jwtToken}}'
    
  • 入参说明

    名称类型必选枚举值含义说明
    dataSetIdinteger数据集ID
  • 出参说明

    名称类型含义说明
    $.dimMetListobject数据集维度指标属性
    $.dimMetList[i].groupTypeinteger维度指标组字段类型
    $.dimMetList[i].calcTypestring表计算字段类型

    $.dimMetList[i].dimMetOrder

    integer

    数据集维度指标序号

    $.dimMetList[i].exprstring数据集维度指标表达式
    $.dimMetList[i].fullExprstring数据集维度指标完整表达式(解析出所有字段引用)
    $.dimMetList[i].fieldListstring数据集维度指标使用到的数据源字段列表
    $.dimMetList[i].descrstring数据集维度指标描述
    $.dimMetList[i].idinteger数据集维度指标ID
    $.dimMetList[i].mapTypeinteger字段类型[0为维度;1为指标]
    $.dimMetList[i].namestring数据集维度指标名称
    $.dimMetList[i].ownerEmailPrefixstring数据集维度指标创建人
    $.schemalist数据集对应底表的字段内容
    $.schema[i].dataSourceTypestring底表字段存储引擎类型
    $.schema[i].statusinteger底表字段状态
    $.schema[i].namestring底表字段名称
    $.schema[i].typestring底表字段类型
    {
        "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": 1586869945602,
                    "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": "成功"
    }
    
  • 备注

3.2 更新数据集维度指标信息

  • 权限需求

    资源权限
    数据集write
  • 接口描述与说明更新维度指标信息,注意此接口的更新为全量更新,不支持单字段的覆盖修改。

  • 接口路径{{domain}}/aeolus/api/v4/open/dataset/{{dataSetId}}/dimMet

  • cURL 示例

    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": 1586869945598,
                "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": 1586869945600,
                "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": ""
            }
        ]
    }'
    
  • 入参说明

    $.dimMetListobject数据集维度指标属性
    $.dimMetList[i].groupTypeinteger维度指标组字段类型
    $.dimMetList[i].calcTypestring表计算字段类型

    $.dimMetList[i].dimMetOrder

    integer

    数据集维度指标序号

    $.dimMetList[i].exprstring数据集维度指标表达式
    $.dimMetList[i].fullExprstring数据集维度指标完整表达式(解析出所有字段引用)
    $.dimMetList[i].fieldListstring数据集维度指标使用到的数据源字段列表
    $.dimMetList[i].descrstring数据集维度指标描述
    $.dimMetList[i].idinteger数据集维度指标ID
    $.dimMetList[i].mapTypeinteger字段类型[0为维度;1为指标]
    $.dimMetList[i].namestring数据集维度指标名称
    $.dimMetList[i].ownerEmailPrefixstring数据集维度指标创建人
  • 出参说明

    {
        "code": "aeolus/ok",
        "data": {
            "deleteAffectedRows": 0,
            "upsertAffectedRows": 5
        },
        "msg": "成功"
    }
    
  • 备注

3.3 查看数据集维度指标分类信息

  • 权限需求

    资源权限
    数据集read
  • 接口描述与说明查看数据集级别的维度指标分类。

  • 接口路径{{domain}}/aeolus/api/v4/open/dataset/{{dataSetId}}/dimMetCategory

  • cURL示例

    curl --location --request GET '{{domain}}/aeolus/api/v4/open/dataset/{{dataSetId}}/dimMetCategory' \
    --header 'Content-Type: application/json' \
    --header 'Authorization: Bearer {{jwtToken}}'
    
  • 入参说明

    名称类型必选枚举值含义说明
    dataSetIdinteger数据集ID
  • 出参说明

    名称类型含义说明

    categoryOrder

    integer

    维度指标分类order排序

    categoryTypeinteger维度指标分类级别 [0为数据集级别, 1为项目级别]
    idinteger维度指标分类ID
    namestring维度指标分类名称
    {
      "code": "aeolus/ok",
      "data": {
        "categorySwitch": 0,
        "dimMetCategoryList": [
          {
            "categoryOrder": 0,
            "categoryType": 0,
            "dataSetId": {{dataSetId}},
            "id": 10000169,
            "name": "维度指标分类2"
          },
          {
            "categoryOrder": 1,
            "categoryType": 0,
            "dataSetId": {{dataSetId}},
            "id": 10000168,
            "name": "维度指标分类1"
          }
        ]
      },
      "msg": "成功"
    }
    
  • 备注

3.4 更新数据集维度指标分类信息

  • 权限需求

    资源权限
    数据集write
  • 接口描述与说明更新数据集中维度指标分类;注意此处为全量更新覆盖更新,不支持单个更新。

  • 接口路径{{domain}}/aeolus/api/v4/open/dataset/{{dataSetId}}/dimMetCategory

  • cURL 示例

    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": 10000169,
                "name": "维度指标分类2-修改"
            },
            {
                "categoryOrder": 1,
                "categoryType": 0,
                "id": 10000168,
                "name": "维度指标分类1"
            }
        ]
    }'
    
  • 入参说明

    名称类型必选枚举值含义说明
    dataSetIdinteger数据集ID
    categoryOrderintegerrange(0,n)维度指标分类序号
    categoryTypeinteger0,1默认均传0
    idinteger维度指标分类ID
    namestring维度指标分类名称
  • 出参说明

    {
        "code": "aeolus/ok",
        "data": {
            "dimMetCategoryList": [
                {
                    "categoryOrder": 0,
                    "categoryType": 0,
                    "dataSetId": {{dataSetId}},
                    "id": 10000169,
                    "name": "维度指标分类2-修改"
                },
                {
                    "categoryOrder": 1,
                    "categoryType": 0,
                    "dataSetId": {{dataSetId}},
                    "id": 10000168,
                    "name": "维度指标分类1"
                }
            ]
        },
        "msg": "成功"
    }
    
  • 备注

4. 数据集血缘关系

4.1 查看数据集血缘统计信息

  • 权限需求

    资源权限
    数据集read
  • 接口描述与说明查看数据集的血缘统计,包含上下游的使用统计情况。

  • 接口路径{{domain}}/aeolus/api/v4/open/dataset/{{dataSetId}}/lineageStatistics

  • cURL 示例

    curl --location --request GET '{{domain}}/aeolus/api/v4/open/dataset/{{dataSetId}}/lineageStatistics' \
    --header 'Content-Type: application/json' \
    --header 'Authorization: Bearer {{jwtToken}}'
    
  • 入参说明

    名称类型必选枚举值含义说明
    dataSetIdinteger数据集ID
  • 出参说明

    名称类型含义说明
    downobject数据集血缘下游
    upobject数据集血缘上游
    dashboardinteger仪表盘
    reportinteger图标
    data_setinteger数据集
    {
        "code": "aeolus/ok",
        "data": {
            "down": {
                "dashboard": 1,
                "data_set": 0,
                "report": 2
            },
            "total": 3,
            "up": {
                "data_set": 0
            }
        },
        "msg": "成功"
    }
    
  • 备注

4.2 查看数据集血缘完整信息

  • 权限需求

    资源权限
    数据集read
  • 接口描述与说明查看数据上下游血缘的具体资源信息,对应产品前端的血缘视图.

  • 接口路径{{domain}}/aeolus/api/v4/open/dataset/{{dataSetId}}/upstreamLineage

  • cURL 示例

    curl --location --request GET '{{domain}}/aeolus/api/v4/open/dataset/{{dataSetId}}/lineage' \
    --header 'Content-Type: application/json' \
    --header 'Authorization: Bearer {{jwtToken}}'
    
  • 入参说明

    名称类型必选枚举值含义说明
    dataSetIdinteger数据集ID
  • 出参说明

    名称类型含义说明
    resourceAppIdinteger资源所在项目ID
    resourceAppNamestring资源所在项目名称
    resourceFolderstring资源所在文件夹路径
    resourceIdinteger资源ID
    resourceNamestring资源名称
    resourceOwnerstring资源拥有者
    resourceTypestring资源类型
    resourceTypeNamestring资源类型名称
    resourceUpDownstreamstring资源为当前数据集的上/下游
    resourceUrlstring资源URL
    {
        "code": "aeolus/ok",
        "data": {
            "resourceList": [
                {
                    "resourceAppId": 7777947,
                    "resourceAppName": "测试项目-名称",
                    "resourceFolder": "公共仪表盘",
                    "resourceId": 155459,
                    "resourceName": "测试",
                    "resourceOwner": "userEmailPrefix_1",
                    "resourceType": "dashboard",
                    "resourceTypeName": "仪表盘",
                    "resourceUpDownstream": "down",
                    "resourceUrl": "#/dashboard/155459?appId=7777947",
                    "role": []
                },
                {
                    "resourceAppId": 7777947,
                    "resourceAppName": "测试项目-名称",
                    "resourceFolder": "/",
                    "resourceId": 63939,
                    "resourceName": "test",
                    "resourceOwner": "userEmailPrefix_2",
                    "resourceType": "report",
                    "resourceTypeName": "图表",
                    "resourceUpDownstream": "down",
                    "resourceUrl": "#/dataQuery?rid=63939&appId=7777947"
                },
                {
                    "resourceAppId": 7777947,
                    "resourceAppName": "测试项目-名称",
                    "resourceFolder": "/",
                    "resourceId": 63987,
                    "resourceName": "血缘关联可视化查询",
                    "resourceOwner": "userEmailPrefix",
                    "resourceType": "report",
                    "resourceTypeName": "图表",
                    "resourceUpDownstream": "down",
                    "resourceUrl": "#/dataQuery?rid=63987&appId=7777947"
                }
            ],
            "total": 3
        },
        "msg": "成功"
    }
    
  • 备注

4.3 查看数据集上游数据源信息

  • 支持版本56.1版本及以上

  • 权限需求

    资源权限
    数据集read
  • 接口描述与说明该接口可以返回数据集模型配置中使用到的上游信息。

    alt

  • 接口路径{{domain}}/aeolus/api/v4/open/dataset/{{dataSetId}}/lineage

  • cURL 示例

    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}}'
    
  • 入参说明

    名称类型必选枚举值含义说明
    dataSetIdinteger数据集ID
  • 出参说明

    • 关联数据集-xx
      出参字段含义说明中包含该前缀的,则代表当用户查询的数据集为关联数据集时,返回的内容才包含该字段,关联数据集当前只允许在模型中使用数据集join数据集。
    • 普通数据集-xx
      出参字段含义说明中包含该前缀的,则代表当用户查询的数据集为普通数据集时,返回的内容才包含该字段,普通数据集的模型配置中,不会存在数据集数据源和自定义sql节点。
    • 自定义sql数据集-xx
      出参字段含义说明中包含该前缀的,则代表当用户查询的数据集为自定义sql数据集时,返回的内容才包含该字段,自定义sql数据集的模型配置中,只会存在一个自定义sql节点。
    名称类型含义说明
    dataSourceIdstring上游数据源ID -> 该信息比较底层,如不需要可忽略

    dataSourceType

    string

    上游数据源的类型 常见枚举值👇🏻

    • hive
    • data_set
    • click_house
    • ch_excel(excel文件)
    • ch_csv(csv文件)
    dataSetNamestring资源所在文件夹路径
    latestDataSetNamestring资源ID
    dataSetIdinteger资源名称
    appIdinteger资源拥有者
    clusterNamestring资源类型
    dbNamestring资源类型名称
    tableNamestring资源为当前数据集的上/下游
    sqlstring资源URL
    {
        功"
    }
    
  • 备注