数据集 Open API 包含了:数据集操作 API、数据集信息 API、数据集维度指标与血缘关系 API、数据集同步任务 API、数据集可视化查询参数与开放查询 API、数据集模型画布与运维类工具 API、项目内数据集 API。
本文为您介绍的是“数据集信息类的 Open API”,您将了解到用户可以通过 API 进行查看数据集详情页、编辑页的基础信息以及更新基础信息、设置标签等操作。
注意:
- 新接口 V4 版本采用标准的 restful 接口命名方式,即资源+行为的命名方式。
- 针对每个接口提供直接可以导入 postMan 的 请求示例,方便客户体验,由于各环境 DataWind 域名和各个请求中都含有通用含义的变量,因此各接口的 cURL 实例中均采用{{}}包裹变量,
{{变量}}
格式可直接被 postMan 识别。- 变量对照含义表:
jwtToken -> {{jwtToken}}
aeolus 域名 -> {{domain}}
项目 ID -> {{appId}}
数据集 ID -> {{dataSetId}}
数据集标签 Id {{tagId}}
数据集文件夹 Id {{dataSetFolderId}}
> * 本功能适用的版本: 2.48.0及以上 <span id="_3-接口介绍"></span> # 3. 接口介绍 <span id="_3-1-查看数据集信息-详情页"></span> ## 3.1 查看数据集信息-详情页 * 权限需求 | | | \ |资源 |权限 | |---|---| | | | \ |数据集 |read | * 接口描述与说明获取数据集详情页展示的数据集信息内容。 ![Image](https://portal.volccdn.com/obj/volcfe/cloud-universal-doc/upload_49d067d5aba01ab219757c1130857155.png =1334x) <span id="c23a0ea9"></span> #### 请求说明 * 请求地址:`{{domain}}/aeolus/api/v4/open/dataset/{{dataSetId}}/overview` <span id="7a1ba522"></span> #### 请求示例 ```bash curl --location --request GET '{{domain}}/aeolus/api/v4/open/dataset/{{dataSetId}}/overview' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer {{jwtToken}}'
名称 | 类型 | 必选 | 示例值 | 描述 |
---|---|---|---|---|
dataSetId | integer | 是 | 数据集ID |
参数 | 类型 | 描述 |
---|---|---|
accessCount | integer | 数据集30天相关图表访问量 |
appId | integer | 项目Id |
connectionMode | integer | 数据集连接模式[0:抽取, 1:直连] |
ctime | datetime | 数据集创建时间 |
dagTagConf.dimTbNodes | list | 维度表节点Id |
demoUrl | string | 数据集使用说明 |
descr | string | 数据集描述 |
doradoPriority | integer | 同步任务优先级 |
driverName | string | 存储引擎 |
groupId | intinteger | 资源组Id(非TOB环境) |
groupName | string | 资源组名称(非TOB环境) |
groupType | integer | 资源组类型(非TOB环境) |
id | integer | 数据集ID |
lastSyncTime | datetime | 最近同步时间 |
lineNum | integer | 数据集所存数据条数 |
mtime | datetime | 数据集最近修改时间 |
name | string | 数据集名称 |
onPrivateCluster | integer | 数据集是否建立于私有集群 |
roleList | list | 当前token身份拥有的数据集权限 |
size | integer | 数据集所存数据大小 |
sourceKey | string | 数据集建立/输出来源 [abi, cdp, prep] |
status | integer | 数据集状态;0为正常状态 |
syncMode | integer | 同步模式 |
syncType | integer | 同步调度模式[1为自动同步; 2为手动同步] |
ttl | integer | 数据集生命周期 -> 数据保存周期,默认7天 |
type | integer | 数据集类型 |
writePartition | integer | 写入分区 [0为写入天分区; 1为写入天+小时分区] |
yarnName | integer | 数据集同步队列名称(非TOB环境) |
sensitiveConf | string | 数据集脱敏设置 undef:未设置脱敏 sensitiveWithoutDe:涉敏未脱敏 sensitiveWithDe:涉敏已脱敏 unsensitive不涉敏 |
{ "code": "aeolus/ok", "data": { "accessCount": 0, "appId": 77*****, "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": 158**********, "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": "成功" }
无
权限需求
资源 | 权限 |
---|---|
数据集 | read |
接口描述与说明获取数据集完整信息,对应前端的数据集编辑页。
请求地址:{{domain}}/aeolus/api/v4/open/dataset/{{dataSetId}}/info
curl --location --request GET '{{domain}}/aeolus/api/v4/open/dataset/{{dataSetId}}/info' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer {{jwtToken}}'
参数 | 类型 | 必选 | 示例值 | 描述 |
---|---|---|---|---|
dataSetId | integer | 是 | 数据集ID |
参数(jsonPath) | 类型 | 描述 |
---|---|---|
$.baseConf | object | 数据集基础内容 |
$.baseConf.appId | integer | 项目Id |
$.baseConf.confidentiality | string | (非TOB环境)数据集机密等级 |
$.baseConf.demoUrl | string | 数据集使用说明 |
$.baseConf.groupId | integer | (非TOB环境)数据集资源组ID |
$.baseConf.groupName | string | (非TOB环境)数据集资源组名称 |
$.baseConf.name | string | 数据集名称 |
$.baseConf.ownerEmailPrefix | string | 数据集拥有者 |
$.baseConf.parentId | integer | 数据集所在文件夹,0则代表在根目录 |
$.baseConf.syncMode | integer | 同步模式 [1为手动;2为自动] |
$.baseConf.type | integer | 数据集类型 |
$.dagTagConf.dimTbNodes | list | 数据集维度表节点 nodeId |
$.dimMetList | integer | 数据集维度指标属性; 字段含义详见本文档 2.2.4 数据集维度指标-查看数据集维度指标信息接口 |
$.nodeConf | object | 数据集模型化画布信息;字段含义详见本文档 2.2.3 数据集模型画布-查看数据集模型画布信息接口 |
$.syncConf | object | 数据集同步任务配置 |
$.whereConf | object | 数据集模型数据源节点筛选条件及全局筛选条件 |
{ "code": "aeolus/ok", "data": { "baseConf": { "appId": 77*****, "confidentiality": "L3", "connectionMode": 0, "demoUrl": null, "descr": "这是一段描述,描述数据集的作用", "generalTags": [], "groupId": 19*, "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": 158**********, "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": 25***, "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_****_****_**********#group=default", "nodeId": "77b3df39-834c-4da4-908e-4b54846bc599", "nodeType": "table", "params": { "extractType": "{\"key\":\"full\"}" }, "partitionConfList": [], "query": "", "schemaName": "Sheet1", "tableAlias": "table_4f0cc551_9dfa_4915_****_************", "tableRowFilter": {}, "tbId": "cn//aeolus_excel_upload_aeolus_toy//table_4f0cc551_9dfa_4915_****_************", "tbName": "table_4f0cc551_9dfa_4915_****_************" } ], "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}}_167099*******_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": 14*, "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": "成功" }
无
权限需求
资源 | 权限 |
---|---|
数据集 | read |
接口描述与说明获取数据集基础信息,可用于三方接入时粗略展示数据集的内容。
{{domain}}/aeolus/api/v4/open/dataset/{{dataSetId}}/digest
curl --location --request GET '{{domain}}/aeolus/api/v4/open/dataset/{{dataSetId}}/digest' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer {{jwtToken}}'
名称 | 类型 | 必选 | 示例值 | 描述 |
---|---|---|---|---|
dataSetId | integer | 是 | 数据集ID | |
folderPath | integer | 否 | [0,1] | 是否需要完整的文件夹路径 |
confidentiality | integer | 否 | [0,1] | 是否需要获取数据集的机密等级,部分环境不存在此概念,可以传0加快接口速度 |
名称 | 类型 | 描述 |
---|---|---|
id | integer | 数据集ID |
appID | integer | 项目ID |
appName | string | 项目名称 |
confidentiality | string | 数据集机密等级(非TOB环境) |
detailUrl | string | 数据集前端页面地址,可直接跳转 |
folderName | list | 数据集文件夹路径 -> 根目录为默认值,代表该数据集没有存放在文件夹下 |
name | string | 数据集名称 |
ownerEmailPrefix | string | 数据集拥有者 |
status | integer | 数据集状态 -> 通常情况下status=0 |
type | integer | 数据集类型 |
{ "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=77*****", "folderName": [ "子文件夹-层级3", "子文件夹-层级2", "子文件夹-层级1", "模板数据集", "根目录" ], "id": {{dataSetId}}, "name": "测试open-api专用数据集1", "ownerEmailPrefix": "userEmailPrefix", "status": 0, "type": 22 }, "msg": "成功" }
无
权限需求
资源 | 权限 |
---|---|
数据集 | write |
接口描述与说明对应前端数据集基础描述信息的更新,注意此接口允许更新的信息内容与接口查看数据集基础信息
有差异。
{{domain}}/aeolus/api/v4/open/dataset/{{dataSetId}}/digest
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 }'
参数 | 类型 | 描述 |
---|---|---|
dataSetId | integer | 数据集ID |
dataSetName | integer | 数据集名称 |
dataSetDescr | string | 数据集描述 |
confidentiality | string | 数据集机密等级(非TOB环境) |
groupId | integer | 资源组ID,即更新资源组(非TOB环境) |
请注意这里是全量覆盖更新,即如果需要更新某个属性,则还需要将其他各个属性的原始内容全量传入,不然则视为使用空白值覆盖原有属性。
{ "code": "aeolus/ok", "data": { "affectedRows": 1 }, "msg": "成功" }
无
权限需求
资源 | 权限 |
---|---|
数据集 | write |
接口描述与说明设置数据集的标签信息,数据集标签本身附属于项目,需与本文档 2.3.1 数据集标签-获取项目下数据集标签信息接口配合使用。
{{domain}}/aeolus/api/v4/open/dataset/{{dataSetId}}/dataSetTag
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 ] }'
名称 | 类型 | 必选 | 示例值 | 描述 |
---|---|---|---|---|
dataSetId | integer | 是 | 数据集ID | |
tagIdList | list < integer > | 是 | 标签ID,一次可给数据集设置多个标签;前端表现为可勾选多个 |
{ "code": "aeolus/ok", "data": {}, "msg": "成功" }
无