最新历史版本 :發佈API概述 返回文檔
編輯時間: 內容長度:图片数:目录数: 修改原因:

目錄:

1. 概述编辑

1.1 版本

FineDataLink版本
功能變動
4.0.20.1支援的API發佈的資料庫版本:MySQL、Oracle、PostgreSQL、SQLServer、Greenplum(包含並行裝載)
4.2.0.3

1)「發佈內容及參數步驟中,獲取回傳值後

  • 右鍵點選欄位值,出現複製按鈕,可複製欄位值

  • 若欄位值過長,支援拖曳調整列寬;滑鼠懸浮欄位值上,顯示完整欄位值

2)配置方式為 SQL 時,Greenplum、YMatrix、GaussDB 資料源,支援指定欄位排序

3)配置方式為選表時,所有資料源均支援指定欄位排序

4.2.4.3建立資料服務與建立定時任務的交互統一

1.2 歷史版本

FineDataLink 版本功能變動
4.0.26非超級管理者支援使用資料服務
4.1
  • 支援指定多級API路徑,在API資訊配置頁面,「路徑」支援指定:英文、數字、底線(_)、連字元(-)、正斜槓(/)

  • 支援發佈API時直接綁定應用

  • 支援發佈API時進行應用配置測試

  • 支援Doris\Impala\TiDB\星環資料源 注:Doris在作為資料源時,需要使用 ORDER BY 語句指定有效的排序欄位,否則將無法正常分頁,影響後續使用API取數

4.1.2

支援 StarRocks、GaussDB、MaxCompute 資料源

注:StarRocks 在作為資料源時,需要使用 ORDER BY 語句指定有效的排序欄位,否則將無法正常分頁,影響後續使用API取數

4.1.3支援直接選表同步數

支援 DB2 資料源

4.1.5.4「發佈內容及參數」步驟中,配置方式選擇選表時,顯示表備註
4.1.6.1API管理、呼叫記錄Tab,被挪到任務維運>資料服務
4.1.6.3

支援 GBase8s、KingbaseES、ClickHouse、HANA、達夢、Vertica 資料

API任務、資料服務應用禁止被多人同時編輯

4.1.6.4
  • API 支援匯出API文檔,詳情請參見:匯出API說明文

  • 「發佈內容及參數」步驟中,增加回傳值配置

  • API 詳情頁增加回傳值展示

4.1.8.2資料服務支援讀取神通資料庫
4.1.11.5配置方式選擇選表時,若選擇了指定資料表,介面展示表所在資料庫或者模式
4.1.13.2配置方式為「選表」時,支援選欄位

1.3 應用場景

使用者需要把上游資料獲取、加工好以後,存到指定資料庫,希望將這些資料封閉性成 API API,供下游系統呼叫。

1.4 功能說明

FineDataLink 支援將處理好的資料庫中的資料透過 API 形式發佈出去,供其他工具使用。

2. 約束限制编辑

注:使用「資料服務」的前提條件和其他約束限制請參見:数据服务概述

若使用 Doris、StarRocks 作為發佈的資料源,需要使用 ORDER BY 語句指定有效的排序欄位,否則將無法正常分頁,影響後續使用API取數。

例如使用 SQL 語句將 tbl_id 欄位進行排序。



3. 操作步驟编辑

建立一個 API 後,需要 3 步完成該 API 的設計:API 資訊、發佈內容及參數、預覽測試。

3.1 建立 API

進入 FDL 工程,點選「資料服務」,在有權限的路徑下建立 API,設定 API 所在路徑及名稱後,點選「確定」按鈕。如下圖所示:

  • 名稱不能重名,不能為空。

  • 支援修改所屬目錄;描述可為空。


3.2 API 資訊


API的請求路徑、請求格式、傳回格式等基本資訊說明如下所示:

注:支援內容未配置完成時點選儲存按鈕。

配置項
說明
名稱

配置API名稱。

API名稱不允許重複。

預設為空,最大長度50字元,必填。

描述

配置API描述。

預設為空,最大長度100字元,非必填。

請求方法

請求方法。

當前支援 POST、GET 。

POST透過BODY傳入參數,GET透過URL傳入參數(QueryParam)

傳入參數 QueryParam 時的參數說明如下:

  • 參數格式:QueryParam 將參數以鍵值對的形式附加在URL的查詢字串部分。每個鍵值對由等號(=)連結參數名和參數值,不同的鍵值對之間使用與號(&)分隔。

  • 參數位置:QueryParam的參數出現在URL的問號(?)之後,直到URL結束或遇到哈希標記(#)為止。範例:http://example.com/api?param1=value1&param2=value2#position。

請求Body格式請求方式選擇POST時展示

選擇請求的Body格式(其實就是請求Content-Type):

  • application/json 不能處理帶有編碼格式的Content-Type,例如application/json; charset=UTF-8

  • application/x-www-form-urlencoded

預設選擇「application/json」。

路徑

配置要發佈的API路徑。

API路徑不允許重複。

預設為空,支援指定英文、數字、底線(_)、連字元(-)、正斜槓(/)。

例如以下完整的API請求路徑範例:

http://192.168.5.175:8089/webroot/service/publish/應用ID/demo

注1:service前的部分為發佈API所在的當前 FineDataLink 伺服器地址。

注2:應用ID是API被綁定應用的ID,詳情參見綁定API至應用

逾時時間

填寫回應逾時時間,如果在指定時間後仍沒有傳回查詢結果,則API傳回逾時錯誤。

預設10000ms,必填。

已授權應用

使用者可在建立API時將其新增至授權應用,同時在API測試階段可直接測試API呼叫情況。

同時可以將 API 任務批量新增至多個有權限的應用下。

詳情請參見:綁定API至應用

API 若想被呼叫必須綁定應用

3.3 發佈內容及參數


3.3.1 配置方式

配置方式設定項中可選擇SQL、選表。

注:4.1.3 及之後版本,新增「選表」功能,支援直接選表同步資料。

1)SQL

透過 SQL 語句從源資料庫的表中查詢取數,且支援引用參數,參數的具體介紹請參見:參數概述

使用者可選擇指定的資料庫,並在該資料庫下搜尋需要的資料表,然後寫入右側 SQL 輸入框,如下圖所示:

2)選表


設定項
說明
來源表

選擇來源表,不能為

4.1.11.5 及之後的版本配置方式選擇選表時,若選擇了指定資料表,介面展示表所在資料庫或者模式

選部分欄位

4.1.13.2 及之後版本,支援選擇部分欄位

1)選欄位時若全選欄位,後續該表新增的欄位,不會被當成選中的狀態

2)未選的表欄位,在資料過濾功能中,可被聯想出來

3)已被選擇的欄位,若希望取消選擇,有兩種方案:

4)回傳值配置中,僅展示已選的欄位

表描述

顯示表備

不支援該功能的資料庫:

ClickHouse、Hive、Impala、TRANSWARP INCEPTOR、Informix、MaxCompute、SQLite、StarRocks

資料過濾
  • 可為空

  • 可過濾來源表的資料,內容為:使用所選資料庫的文法編寫 WHERE 條件語句(無需填寫 WHERE 關鍵字)

  • 支援引用各類參數

  • 支援聯動參數值;支援聯動資料表中欄位

  • 不支援寫 limit 語句

3.3.2 請求參數配置

請求參數配置說明如下:

列表專案
說明
參數名

請求參數名。

參數名稱不可重名。

預設為空,必填。

參數類型

請求參數類型。

  • 字串

  • 數字

  • 布爾值

注:對於日期類型參數標識為字串,使用字串形式傳入,格式舉例:【yyyy-MM-dd HH:mm:ss】

參數必填

配置當前參數是否必填。

如果沒有勾選必填,則要求預設值配置項不能為空。

預設值

參數非必填時做非空校驗

配置當前參數的預設值,參數配置為「非必填」時需要填寫預設值。

當參數配置非必填,沒有傳參的情況下:取預設值作為參數值,預設值可以是對應類型的任何值,預設值可以為NULL。

注:參數是否必填,是針對實際API呼叫傳參程式的,在進行預覽和測試時,參數還是必須填完整。

描述

為參數新增描述。

預設為空。

3.3.3 回傳值配置

注1:4.1.6.4 及之後版本,「查詢預覽」按鈕更新為「回傳值配置」。

注2:可不點選「獲取」按鈕獲取回傳值,不影響 API 的正常使用;但若不獲取,匯出的 API 文檔中,該 API 的傳回內容不完整。

若 SQL 語句中配置了參數:

1)「請求參數配置」中自動獲取參數,回傳值配置中點選獲取按鈕,獲取傳回參數。如下圖所示:


獲取的回傳值如下圖所示:


說明如下:

  • 不允許修改欄位名和類型;支援為欄位新增描述。

  • 欄位名支援搜尋。

  • 點選「重新整理並預覽」按鈕,可重新獲取回傳值。

  • 4.2.0.3 及之後版本:右鍵點選欄位值,出現複製按鈕,可複製欄位值;若欄位值過長,支援拖曳調整列寬;滑鼠懸浮欄位值上,顯示完整欄位值。

若 SQL 語句中未配置參數:

請求參數配置」中提示:根據查詢SQL自動獲取回傳值配置中點選獲取按鈕,獲取傳回參數。


3.3.4 回傳值排序

4.2.0.3 及之後版本,回傳值配置中點選獲取按鈕後,支援指定排序欄位和排序規則。


說明如下:

1)應用場景:

資料服務 API 發佈的API,使用者呼叫時(比如分頁取數時),希望取出或預覽的資料根據某個欄位有序排列。

2)配置方式為 SQL 時,Greenplum、YMatrix、GaussDB 資料源,支援指定欄位排序;配置方式為選表時,所有資料源均支援指定欄位排序。

3)可指定單個欄位作為排序欄位;也可指定多個欄位作為組合排序欄位(需要區分排序優先)。

4)排序規則可選擇:升冪、降冪,預設為升冪。

5)生效方式:排序欄位勾選後,點選「重新整理並預覽」/「下一步」即觸發生效。若修改後,也是「重新整理並預覽」/「下一步」重新生效。

3.4 預覽測試

可點選「儲存」按鈕或者「儲存聯集線」按鈕。

注:若配置不完整,點選「儲存聯集線」按鈕將報錯,但可以點選「儲存」按鈕儲存已有配置。


專案列表
說明
測試應用

選擇測試API呼叫時使用的應用

如果沒有綁定應用,則此配置灰化不可選

測試呼叫

輸入 Body 測試值或者 Params 測試值進行API除錯,測試呼叫情況

3.5 綁定 API 至應用

API 若想被呼叫必須綁定應用。

使用者可在本文 3.2 節步驟中給 API 綁定應用,或者 3.4 節結束後,參考 綁定API至應用 給 API 綁定應用。

3.6 API 上線

API 列表展示所有 API資訊,選擇指定的 API ,可查看基本資訊和 API 的內容以及參數。

在右上角點選「上線」,即可發佈 API,如下圖所示:


4. 擴展閱讀编辑

分類說明參考文檔

發佈 API

注:4.1.6.3 及之後版本,API任務、資料服務應用禁止被多人同時編輯。詳情請參見:任务禁止被多人同时编辑

資料服務支援使用簡單身分認證及加密身分認證呼叫資料服務API,可根據需要選擇摘要簽章認證方式
外部系統呼叫時開通黑白名單,可保證發佈的 API API在被外部系統呼叫時更安全配置API黑白名单
發佈包含參數的 API

发布API-多值查询 

发布API-查询NULL值数据

发布API-参数为空查询全部

使用發佈的 APIAPI 發佈後,使用範例

使用数据服务发布的API(GET 请求)

使用数据服务发布的API(POST application/json请求)

使用数据服务发布的API(POST x-www-form-urlencoded请求)

對已經發布的 API 進行管理對發佈的 API 進行任務管理、運作監視和任務監視,查看呼叫情況、批量上下線 API 等数据服务运维
資料服務最佳實踐

某公司旗下各個地區有多個分公司和分店,且使用的同一套業務系統

業務資料會全部匯總到總部的資料庫內,分店只能在業務系統上看到特定的分析和資料,無法實現自訂分析

總部希望對資料進行分權限管控:總部按照地區提供資料,一個地區分店和分公司只能看到自己地區的資料,不允許看到其他地區的資料,各地區自行獲取資料後在不同工具中進行資料分析和使用

使用数据服务对数据进行分发管控
使用者希望將 FineBI 中的資料發佈為 API ,供其他系統使用使用FineBI公共数据发布API