数据集连接
# 数据集与连接
DashBoard默认支持mysql、mssql、kudu、oracle等的数据源。在数据源列表界面中点击 新增
,打开如下图所示的界面,其中数据源类型,数据源编码与数据源名称为必填的项目。接下来针对不同的数据源类型对设置项进行说明。

# 1. 通用数据源
通用jdbc数据源可连接通用的数据库,比如mysql、mssqlserver、oracle、kudu impata等数据库。此处可用于设置数据源类型中未包含的通用数据库的连接。

在填写时请注意驱动类、连接串、用户名与密码要填写正确,如果测试不能连接的数据源配置是无法保存的。
# 2. elasticsearch_sql数据源
目前只支持elasticsearch的x-pack sql。
固定写法:
- 请求路径:http://127.0.0.1:9200/_xpack/sql?format=json
- 请求方式:POST
- 请求头:{"Content-Type":"application/json"}
- 请求体:{"query":"select 1"}

# 3. http数据源
针对http,最好的返回结果是List<JSONObject>
。支持请求路径和请求头中存在动态数据,采用${}
的方式进行动态替换。请求路径的动态数据可以在点击测试成功后,再改成${}
的形式以进行保存。

# 4. 数据集
数据集需根据选择的数据源与查询的SQL脚本或者请求体实现数据查询功能。对于sql类型的数据集,新增数据集时选择SQL后填写相关的查询语句。

对于HTTP数据集,建议返回List<JSONObject>
文本类型,便于后续的处理。

接下来对查询参数与数据转换的内容进行说明。
# 4.1. 查询参数
查询参数是针对sql中存在动态参数,需要在大屏初始化时动态传入数据实现的功能。http类型数据源支在请求路径。请求头,请求体内容中引用查询参数。在查询参数中定义的参数如果要引用在SQL或者请求中,将对应要参数化的位置插入 ${}
符号,并将参数名输入至括号中,比如参数名称为 apiname
,则在http请求或sql中要写成 ${apiname}
。具体的示例可参考 数据集。
查询参数支持高级规则,高级规则可以对输入的参数值做校验,支持以下两种校验方式。
- true/false:返回值如果为
true
或false
,则高级规则仅校验数据是否复合要求。 - 文本:返回值如果文本,高级规则用于处理并转换文本信息。
//返回yyyyy-MM-dd类型的当前时间
function verification(data){
//自定义脚本内容
//获取当前时间
var date = new Date();
var year = date.getFullYear();
var month = date.getMonth() + 1;
var day = date.getDate();
if (month < 10) {
month = "0" + month;
}
if (day < 10) {
day = "0" + day;
}
var nowDate = year + "-" + month + "-" + day;
return nowDate;
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 4.2. 数据转换
数据转换是在获取到数据后,对数据进行清洗的操作。数据转换选项有以下几种类型。
- 字典翻译:获取到的数据为关键字,需要建立一套字典用于获取显示结果与关键字的对照关系,从而将数据关键字转换为大屏上可以显示的内容。

- js脚本:对于复杂的转换模式,可能需要借助于js脚本来帮助处理。示例js脚本如下。
// 根据sql查询出的结果进行数据清洗
function dataTransform(data){
//自定义脚本内容
//1.遍历测试预览中的java.util.ArrayList<java.lang.Object>
for(j = 0, len = data.length; j < len; j++){
//获取一行数据
var row = data[j]
//比如对brand字段进行拆分,例如A-100,B-50
var brand = row['brand']
var split = brand.split('-')
//新增两个字段
var model = split[0]
var series = split[1]
//对原始对象赋值
data[j]['model'] = model
data[j]['series'] = series
}
return data;
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
- ip转换:用于对数据集中获取到的IP地址进行转换以实现在其他网络位置处可访问。