數據集連線
# 數據集與連線
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地址進行轉換以實現在其他網路位置處可訪問。