發佈API概述

  • 文档创建者:Roxy
  • 历史版本:53
  • 最近更新:Nikozhan 于 2025-04-22
  • 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


    附件列表


    主题: 資料服務
    • 有帮助
    • 没帮助
    • 只是浏览
    • 评价文档,奖励 1 ~ 100 随机 F 豆!