You need to enable JavaScript to run this app.
导航
数据集可视化查询参数与开放查询 API
最近更新时间:2024.06.26 14:57:02首次发布时间:2024.03.15 14:51:25

1. 概述

数据集 Open API 包含了:数据集操作 API、数据集信息 API、数据集维度指标与血缘关系 API、数据集同步任务 API、数据集可视化查询参数与开放查询 API、数据集模型画布与运维类工具 API、项目内数据集 API。
本文为您介绍的是“数据集可视化查询参数类与开放查询类的 Open API”,您将了解到用户可以通过 API 进行查看、更新可视化查询参数配置以及通过接口直接获取数据、输出数据到csv文件等操作。
注意:在您使用本文所述的 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}}/vqsParams

请求示例

curl --location --request GET '{{domain}}/aeolus/api/v4/open/dataset/{{dataSetId}}/vqsParams' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {{jwtToken}}'

请求参数

参数

类型

必选

枚举值

描述

dataSetId

integer

数据集ID

返回参数

参数

类型

描述

enableReportMonitor

string

新建监控
允许后,该数据集可以新建监控,但会对集群产生压力

enableSubscription

bool

数据集订阅数据集首次创建后的默认回溯周期
允许后,订阅数据集后,图表数据可在仪表盘订阅截图中显示,但会对集群产生压力

vqsAutoQuery

bool

自动查询
允许后,在可视化查询界面允许自动触发查询,但会对集群产生压力

enableSearchOptimizationStrategy

bool

筛选搜索优化
设为不允许会在列表中搜索数据项全量查最近30天的后端数据,保障数据完整性

返回示例

{
    "code": "aeolus/ok",
    "data": {
        "enableReportMonitor": true,
        "enableSearchOptimizationStrategy": false,
        "enableSubscription": true,
        "vqsAutoQuery": true,
        "vqs_auto_query": true
    },
    "msg": "成功"
}
  • 备注

3.2 更新数据集可视化查询参数配置

  • 权限需求

    资源

    权限

    数据集

    write

  • 接口描述与说明设置数据集的可视化查询配置

请求说明

  • 请求地址:{{domain}}/aeolus/api/v4/open/dataset/{{dataSetId}}/vqsParams

请求示例

curl --location --request PUT '{{domain}}/aeolus/api/v4/open/dataset/{{dataSetId}}/vqsParams' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {{jwtToken}}' \
--data-raw '{
    "vqsParams": {
        "vqsAutoQuery": false,
        "enableSubscription": false,
        "enableReportMonitor": false,
        "enableSearchOptimizationStrategy": false
    }
}'

请求参数

参数

类型

必选

描述

enableReportMonitor

string

新建监控
允许后,该数据集可以新建监控,但会对集群产生压力

enableSubscription

bool

数据集订阅数据集首次创建后的默认回溯周期
允许后,订阅数据集后,图表数据可在仪表盘订阅截图中显示,但会对集群产生压力

vqsAutoQuery

bool

自动查询
允许后,在可视化查询界面允许自动触发查询,但会对集群产生压力

enableSearchOptimizationStrategy

bool

筛选搜索优化
设为不允许会在列表中搜索数据项全量查最近30天的后端数据,保障数据完整性

返回示例

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

4. 数据集开放查询

4.1 通过接口直接获取数据

  • 支持版本2.56.1版本、2.58.0版本及以上

  • 权限需求

    资源

    权限

    数据集

    read

  • 接口描述与说明

    • 2.58.0及以上版本:
      获取数据集数据。
    • 2.56.1版本:
      获取数据集数据,已支持抽取类型数据集、直连内置clickhouse数据集、可视化建模输出的clickhouse的数据集,行数限制10000。

请求说明

  • 请求地址:{{domain}}/aeolus/api/v4/open/dataset/{{dataSetId}}/queryData

请求示例

  • 2.58.0及以上版本:
curl --location --request POST '{{domain}}/aeolus/api/v4/open/dataset/{{dataSetId}}/queryData' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {{jwtToken}}' \
--data-raw '{
    "sql": "select `[order_id]` from `[mysql直连0922]` as a where `[order_id]` = '\''US-2019-1357144'\''",
    "version":"v2"
}'
  • 2.56.1版本:
curl --location --request POST '{{domain}}/aeolus/api/v4/open/dataset/{{dataSetId}}/queryData' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {{jwtToken}}' \
--data-raw '{
    "sql": "select `字段1` from `数据集名称` where `字段2` = '\''a'\''"
}'

请求参数

  • 2.58.0及以上版本:

参数

类型

必选

描述

sql

string

查询sql语句, 查询的维度指标和数据集名称使用[]格式包裹

version

string

填入"v2"可以支持绝大多数具有实体存储的数据集类型
不填则等同于使用旧版查询能力,需遵循旧版语法

  • 2.56.1版本:

参数

类型

必选

描述

sql

string

查询sql语句, 维度指标及数据集名称若不符合常规mysql语法,如数字、符号开头,使用反引号包裹。
支持函数格式为$xx 已支持 $today$now$rand
例:select $today from 数据集1
select 字段1 from 数据集1 where 字段2 = $today
Select 查询内容及where筛选内容支持已经定义的数据集维度指标
已支持的语法包括 as、where 、 group by 、limit 、分页limit 例:
select 字段1, 字段2 as 指标2 from 数据集1 where 字段1 in ('a', 'b') group by 字段2 limit 2, 100
p.s limit限制若超过接口限制会被限制为接口支持的大小

返回示例

  • 2.58.0及以上版本:
{
    "code": "aeolus/ok",
    "data": [
        [
            "order_id"
        ],
        [
            "US-2019-1357144"
        ],
        [
            "US-2019-1357144"
        ]],
    "msg": "成功"
}
  • 2.56.1版本:
{
    "code": "aeolus/ok",
    "data": [["name", "descr"],["aa", "bb"],["cc", "dd"]],
    "msg": "成功"
}
  • 备注

4.2 通过接口输出数据到csv文件

  • 支持版本2.56.1版本、2.58.0版本及以上

  • 权限需求

    资源

    权限

    数据集

    read

  • 接口描述与说明

    • 2.58.0及以上版本:
      获取数据集数据并输出到csv文件,异步接口,返回queryId,轮询csv文件下载链接接口查询结果。
    • 2.56.1版本:
      获取数据集数据并输出到csv文件,已支持抽取类型数据集、直连内置clickhouse数据集、可视化查询输出到clickhouse的数据集,异步接口,返回queryId,轮询csv文件下载链接接口查询结果。

请求说明

  • 请求地址:{{domain}}/aeolus/api/v4/open/dataset/{{dataSetId}}/queryDataToCSV

请求示例

  • 2.58.0及以上版本:
curl --location --request POST '{{domain}}/aeolus/api/v4/open/dataset/{{dataSetId}}/queryDataToCSV' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {{jwtToken}}' \
--data-raw '{
    "sql": "select `[order_id]` from `[mysql直连0922]` as a where `[order_id]` = '\''US-2019-1357144'\''",
    "version":"v2"
}'
  • 2.56.1版本:
curl --location --request POST '{{domain}}/aeolus/api/v4/open/dataset/{{dataSetId}}/queryDataToCSV' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {{jwtToken}}' \
--data-raw '{
    "sql": "select `字段1` from `数据集名称` where `字段2` = '\''a'\''"
}'

请求参数

  • 2.58.0及以上版本:

参数

类型

必选

描述

sql

string

查询sql语句, 查询的维度指标和数据集名称使用[]格式包裹

version

string

填入"v2"可以支持绝大多数具有实体存储的数据集类型
不填则等同于使用旧版查询能力,需遵循旧版语法

  • 2.56.1版本:

参数

类型

必选

描述

sql

string

查询sql语句, 维度指标及数据集名称若不符合常规mysql语法,如数字、符号开头,使用反引号包裹。
支持函数格式为$xx 已支持 $today$now$rand
例:select $today from 数据集1
select 字段1 from 数据集1 where 字段2 = $today
Select 查询内容及where筛选内容支持已经定义的数据集维度指标
已支持的语法包括 as、where 、 group by 、limit 、分页limit 例:
select 字段1, 字段2 as 指标2 from 数据集1 where 字段1 in ('a', 'b') group by 字段2 limit 2, 100
p.s limit限制若超过接口限制会被限制为接口支持的大小

返回示例

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

4.3 通过接口输出数据到csv文件下载链接

  • 支持版本56.1版本及以上

  • 权限需求

    资源

    权限

    数据集

    read

  • 接口描述与说明获取数据集数据,已支持ck引擎,行数限制100000,入参为queryId获取结果。

请求说明

  • 请求地址:{{domain}}/aeolus/api/v4/open/dataset/queryDataToCSVResult

请求示例

curl --location --request GET '{{domain}}/aeolus/api/v4/open/dataset/queryDataToCSVResult?queryId=xxxxx' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {{jwtToken}}' \

请求参数

参数

类型

必选

描述

queryId

string

传入上次返回的queryId,结果生成后保存半小时

返回示例

# data 为空说明文件尚未生成
{
    "code": "aeolus/ok",
    "data": {"url":"xxxxxxx"},
    "msg": "成功"
}
  • 备注