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

数据集信息 API

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

首次发布时间2024.03.15 14:50:59

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}}/overview

  • cURL示例

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

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

    名称类型含义说明
    accessCountinteger数据集30天相关图表访问量
    appIdinteger项目Id
    connectionModeinteger数据集连接模式[0:抽取, 1:直连]
    ctimedatetime数据集创建时间
    dagTagConf.dimTbNodeslist维度表节点Id
    demoUrlstring数据集使用说明
    descrstring数据集描述
    doradoPriorityinteger同步任务优先级
    driverNamestring存储引擎
    groupIdintinteger资源组Id(非TOB环境)
    groupNamestring资源组名称(非TOB环境)
    groupTypeinteger资源组类型(非TOB环境)
    hotinteger数据集7天相关图表访问量
    idinteger数据集ID
    lastSyncTimedatetime最近同步时间
    lineNuminteger数据集所存数据条数
    mtimedatetime数据集最近修改时间
    namestring数据集名称
    onPrivateClusterinteger数据集是否建立于私有集群
    roleListlist当前token身份拥有的数据集权限
    sizeinteger数据集所存数据大小
    sourceKeystring数据集建立/输出来源 [abi, cdp, prep]
    statusinteger数据集状态;0为正常状态
    syncModeinteger同步模式
    syncTypeinteger同步调度模式[1为自动同步; 2为手动同步]
    ttlinteger数据集生命周期 -> 数据保存周期,默认7天
    typeinteger数据集类型
    writePartitioninteger写入分区 [0为写入天分区; 1为写入天+小时分区]
    yarnNameinteger数据集同步队列名称(非TOB环境)
    sensitiveConfstring数据集脱敏设置 undef:未设置脱敏 sensitiveWithoutDe:涉敏未脱敏 sensitiveWithDe:涉敏已脱敏 unsensitive不涉敏
    {
        "code": "aeolus/ok",
        "data": {
            "accessCount": 0,
            "appId": 7777947,
            "connectionMode": 0,
            "ctime": "2022-12-14 12:17:54",
            "dagTagConf": {
                "dimTbNodes": []
            },
            "dataSetLabelType": 0,
            "demoUrl": "http://xxx.com",
            "descr": "这是一段描述,描述数据集的作用",
            "disablePreview": 0,
            "doradoPriority": "normal",
            "driverName": "click_house",
            "editable": true,
            "frequency": "daily",
            "groupId": 193,
            "groupName": "test-no-multiple",
            "groupType": 0,
            "hot": 0,
            "id": {{dataSetId}},
            "isAppAdminView": 1,
            "lastSyncTime": "2022-12-14 12:38",
            "lineNum": "56",
            "mtime": "2022-12-14 12:18",
            "name": "测试open-api专用数据集1",
            "onPrivateCluster": 0,
            "ownerEmailPrefix": "userEmailPrefix",
            "parentId": 3075,
            "partitionRange": [
                {
                    "id": 1586869945598,
                    "max": "2022-12-13",
                    "min": "2022-12-13",
                    "name": "p_date"
                }
            ],
            "previewInfo": "",
            "retryNum": 0,
            "roleList": [
                {
                    "action": "admin",
                    "roleName": "所有者"
                },
                {
                    "action": "view_only_role",
                    "roleName": "仅阅览角色"
                },
                {
                    "action": "write_role",
                    "roleName": "写角色"
                },
                {
                    "action": "read_role",
                    "roleName": "读角色"
                }
            ],
            "size": "2.86KB",
            "slaStatus": 0,
            "sourceKey": "abi",
            "status": 0,
            "statusDesc": "正常",
            "syncMode": 2,
            "syncType": 1,
            "tagInfo": null,
            "thirdPartyConf": {},
            "ttl": 7,
            "type": 22,
            "uneditableReason": null,
            "writePartition": 0,
            "yarnName": "root.default_hrtech_da_pm"
        },
        "msg": "成功"
    }
    
  • 备注

3.2 查看数据集完整信息-编辑页

  • 权限需求

    资源权限
    数据集read
  • 接口描述与说明获取数据集完整信息,对应前端的数据集编辑页。

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

  • cURL 示例

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

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

    名称(jsonPath)类型含义说明
    $.baseConfobject数据集基础内容
    $.baseConf.appIdinteger项目Id
    $.baseConf.confidentialitystring(非TOB环境)数据集机密等级
    $.baseConf.demoUrlstring数据集使用说明
    $.baseConf.groupIdinteger(非TOB环境)数据集资源组ID
    $.baseConf.groupNamestring(非TOB环境)数据集资源组名称
    $.baseConf.namestring数据集名称
    $.baseConf.ownerEmailPrefixstring数据集拥有者
    $.baseConf.parentIdinteger数据集所在文件夹,0则代表在根目录

    $.baseConf.syncMode

    integer

    同步模式 [1为手动;2为自动]

    $.baseConf.typeinteger数据集类型
    $.dagTagConf.dimTbNodeslist数据集维度表节点 nodeId
    $.dimMetListinteger数据集维度指标属性; 字段含义详见本文档 2.2.4 数据集维度指标-查看数据集维度指标信息接口
    $.nodeConfobject数据集模型化画布信息;字段含义详见本文档 2.2.3 数据集模型画布-查看数据集模型画布信息接口
    $.syncConfobject数据集同步任务配置
    $.whereConfobject数据集模型数据源节点筛选条件及全局筛选条件
    {
        "code": "aeolus/ok",
        "data": {
            "baseConf": {
                "appId": 7777947,
                "confidentiality": "L3",
                "connectionMode": 0,
                "demoUrl": null,
                "descr": "这是一段描述,描述数据集的作用",
                "generalTags": [],
                "groupId": 193,
                "groupName": "test-no-multiple",
                "groupType": 0,
                "id": {{dataSetId}},
                "isAuthEnabled": 1,
                "isIntelligentSyncEnable": 1,
                "lineOfBusiness": [],
                "name": "测试open-api专用数据集1",
                "ownerEmailPrefix": "userEmailPrefix",
                "parentId": 3075,
                "productName": "",
                "regionType": [],
                "syncMode": 2,
                "thirdPartyConf": null,
                "type": 22
            },
            "dagTagConf": {
                "dimTbNodes": []
            },
            "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": 0,
                    "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
                },
                .........
            ],
            "labelConf": {
                "dataSetLabelType": 0,
                "labelParams": null,
                "subjectList": null
            },
            "linkConf": [],
            "nodeConf": [
                {
                    "clusterName": "cn",
                    "dataSourceId": 25958,
                    "dataSourceType": "ch_excel",
                    "dbName": "aeolus_excel_upload_aeolus_toy",
                    "displayDbName": "配比四刷-v4",
                    "fields": [
                        {
                            "alias": "`字段四`",
                            "comment": null,
                            "isDynamicPartition": false,
                            "isSelect": true,
                            "isSourceTableField": false,
                            "name": "字段四",
                            "prepType": "string",
                            "status": 0,
                            "type": "Nullable(String)"
                        },
                        {
                            "alias": "`字段一`",
                            "comment": null,
                            "isDynamicPartition": false,
                            "isSelect": true,
                            "isSourceTableField": false,
                            "name": "字段一",
                            "prepType": "string",
                            "status": 0,
                            "type": "Nullable(String)"
                        },
                        {
                            "alias": "`字段三`",
                            "comment": null,
                            "isDynamicPartition": false,
                            "isSelect": true,
                            "isSourceTableField": false,
                            "name": "字段三",
                            "prepType": "string",
                            "status": 0,
                            "type": "Nullable(String)"
                        },
                        {
                            "alias": "`字段二`",
                            "comment": null,
                            "isDynamicPartition": false,
                            "isSelect": true,
                            "isSourceTableField": false,
                            "name": "字段二",
                            "prepType": "string",
                            "status": 0,
                            "type": "Nullable(String)"
                        }
                    ],
                    "fileId": "13516",
                    "fullOption": false,
                    "hiveOwner": "userEmailPrefix",
                    "lastDdlTime": "2022-12-13 12:49:00",
                    "metadataLink": "https://data.bytedanc*.net/coral/datamap/detail/table_info/clickhouse/aeolus_excel_upload_aeolus_toy/table_4f0cc551_9dfa_4915_a38f_737c716591a8#group=default",
                    "nodeId": "77b3df39-834c-4da4-908e-4b54846bc599",
                    "nodeType": "table",
                    "params": {
                        "extractType": "{\"key\":\"full\"}"
                    },
                    "partitionConfList": [],
                    "query": "",
                    "schemaName": "Sheet1",
                    "tableAlias": "table_4f0cc551_9dfa_4915_a38f_737c716591a8",
                    "tableRowFilter": {},
                    "tbId": "cn//aeolus_excel_upload_aeolus_toy//table_4f0cc551_9dfa_4915_a38f_737c716591a8",
                    "tbName": "table_4f0cc551_9dfa_4915_a38f_737c716591a8"
                }
            ],
            "parseEngine": 0,
            "syncConf": {
                "backtrackingConf": {
                    "dateRange": {
                        "endDate": "2022-12-13",
                        "startDate": "2022-12-13"
                    },
                    "enable": 1
                },
                "doradoPriority": "normal",
                "frequency": "daily",
                "monitorConf": {
                    "alarmRules": [
                        {
                            "failedAlarmItems": [
                                {
                                    "item": "retry_failed"
                                }
                            ],
                            "id": 6826,
                            "name": "auto_aeolus_rule_{{dataSetId}}_1670991481739_dev",
                            "normalNoticeConf": [
                                {
                                    "dutySchedules": [],
                                    "noticeChannel": "lark",
                                    "users": [
                                        "userEmailPrefix"
                                    ]
                                }
                            ],
                            "resultAlarmItems": [],
                            "timeoutAlarmItems": []
                        }
                    ]
                },
                "paramsConfList": [
                    {
                        "name": "tqs.query.auto.retry.enable",
                        "value": "true"
                    }
                ],
                "performanceSettings": {
                    "chQueryParams": {},
                    "clusterName": "cnch_alpha_lq",
                    "cnchVwDefault": "vw_default",
                    "cnchVwWrite": "vw_write",
                    "dataSourceId": 142,
                    "driverName": "click_house",
                    "partitionKey": [
                        "p_date"
                    ],
                    "primaryKeyList": [],
                    "sampleKey": null,
                    "sampleRate": 1.0,
                    "shardKey": null
                },
                "retryInterval": 5,
                "retryNum": 1,
                "scheduleDay": "0",
                "scheduleTime": "00:00",
                "scheduleTimeType": 0,
                "slaDaytime": null,
                "slaStatus": 0,
                "syncType": 1,
                "ttl": 7,
                "upstreamSettings": {
                    "dynamicPartitionConfList": [],
                    "dynamicPartitionMode": false,
                    "partitionConfList": [],
                    "uniqueIndexList": []
                },
                "writePartition": 0,
                "yarnName": "root.default_hrtech_da_pm"
            },
            "whereConf": {
                "nodeRowFilter": {},
                "requiredRowFilter": []
            }
        },
        "msg": "成功"
    }
    
  • 备注

3.3 查看数据集基础信息

  • 权限需求

    资源权限
    数据集read
  • 接口描述与说明获取数据集基础信息,可用于三方接入时粗略展示数据集的内容。

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

  • cURL 示例

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

    名称类型必选枚举值含义说明
    dataSetIdinteger数据集ID
    folderPathinteger[0,1]是否需要完整的文件夹路径
    confidentialityinteger[0,1]是否需要获取数据集的机密等级,部分环境不存在此概念,可以传0加快接口速度
  • 出参说明

    名称类型含义说明
    idinteger数据集ID
    appIDinteger项目ID
    appNamestring项目名称

    confidentiality

    string

    数据集机密等级(非TOB环境)
    如入参confidentiality=0则不显示此类信息

    detailUrlstring数据集前端页面地址,可直接跳转

    folderName

    list

    数据集文件夹路径 -> 根目录为默认值,代表该数据集没有存放在文件夹下
    如入参folderPath=0,则下面json示例中folderName只为 "folderName": [ "子文件夹-层级3" ]

    namestring数据集名称
    ownerEmailPrefixstring数据集拥有者
    statusinteger数据集状态 -> 通常情况下status=0
    typeinteger数据集类型
    {
        "code": "aeolus/ok",
        "data": {
            "appId": 7777947,
            "appName": "测试项目-名称",
            "confidentiality": "L3",
            "demoUrl": "http://xxx.com",
            "descr": "这是一段描述,描述数据集的作用",
            "detailUrl": "https://aeolus-release.fedev.bytedanc*.net/aeolus#/dataManage/detail/{{dataSetId}}?appId=7777947",
            "folderName": [
                "子文件夹-层级3",
                "子文件夹-层级2",
                "子文件夹-层级1",
                "模板数据集",
                "根目录"
            ],
            "id": {{dataSetId}},
            "name": "测试open-api专用数据集1",
            "ownerEmailPrefix": "userEmailPrefix",
            "status": 0,
            "type": 22
        },
        "msg": "成功"
    }
    
  • 备注

3.4 更新数据集基础信息

  • 权限需求

    资源权限
    数据集write
  • 接口描述与说明对应前端数据集基础描述信息的更新,注意此接口允许更新的信息内容与接口查看数据集基础信息有差异。

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

  • cURL 示例

    curl --location --request PUT '{{domain}}/aeolus/api/v4/open/dataset/{{dataSetId}}/digest' \
    --header 'Content-Type: application/json' \
    --header 'Authorization: Bearer {{jwtToken}}' \
    --data-raw '{
        "dataSetName": "测试open-api专用数据集1",
        "dataSetDescr": "这是一段描述,描述数据集的作用",
        "confidentiality": "L3",
        "groupId": 193
    }'
    
  • 入参说明

    名称类型含义说明
    dataSetIdinteger数据集ID
    dataSetNameinteger数据集名称
    dataSetDescrstring数据集描述
    confidentialitystring数据集机密等级(非TOB环境)
    groupIdinteger资源组ID,即更新资源组(非TOB环境)

    请注意这里是全量覆盖更新,即如果需要更新某个属性,则还需要将其他各个属性的原始内容全量传入,不然则视为使用空白值覆盖原有属性。

  • 出参说明

    {
        "code": "aeolus/ok",
        "data": {
            "affectedRows": 1
        },
        "msg": "成功"
    }
    
  • 备注

3.5 设置数据集的标签

  • 权限需求

    资源权限
    数据集write
  • 接口描述与说明设置数据集的标签信息,数据集标签本身附属于项目,需与本文档 2.3.1 数据集标签-获取项目下数据集标签信息接口配合使用。

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

  • cURL 示例

    curl --location --request POST '{{domain}}/aeolus/api/v4/open/dataset/{{dataSetId}}/dataSetTag' \
    --header 'Content-Type: application/json' \
    --header 'Authorization: Bearer {{jwtToken}}' \
    --data-raw '{
        "tagIdList": [
            153
        ]
    }'
    
  • 入参说明

    名称类型必选枚举值含义说明
    dataSetIdinteger数据集ID
    tagIdListlist < integer >标签ID,一次可给数据集设置多个标签;前端表现为可勾选多个
  • 出参说明

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