1. 概述
1.1 版本
「資料同步-API」功能包含的設定項與 API输入 相同,功能變動請參見:API输入 文檔的 1.1 節內容。
1.2 應用場景
出於安全考慮,有時不允許直接存取資料庫,而是以 API 的形式對外提供資料。
此時使用者需要透過 API API將資料取出並將其存放至對應的資料庫中。
FDL 提供兩個功能進行API取數,差別如下:
功能 | 說明 |
---|---|
「資料同步-API」功能(本文介紹功能) | 若API回傳值為較簡單的 JSON 格式,不需要複雜的解析處理,可參考本文進行API取數 |
API输入 算子 | 若使用者希望取出 API 資料後做進一步的資料處理,此時,「資料同步-API」功能不能滿足需求。需要使用 API输入 算子API取數後,再繼續使用其他算子對API資料進行處理 |
1.3 功能說明
FineDataLink 支援從 API API中取數,本文將介紹如何在「資料同步」節點中透過 API API取數。
2. 功能使用前必讀
1)請詳細閱讀 API输入 文檔,瞭解使用 FDL 從API取數的前提條件、使用限制、各個設定項說明等。
2)「資料同步-API」功能從API取數後,可進行簡單 JSON 解析,最後可以儲存到資料庫、簡道雲、檔案系統等位置中。如下圖所示:
「回傳值處理」處的 JSON 解析相比「JSON解析算子功能说明」算子有一定侷限性,詳情請參見:使用限制
3. 範例
3.1 瞭解待呼叫API資訊
本文範例中,我們使用 FDL 發佈的API為例,講述如何使用「資料同步-API」功能從API取數。
API資訊:计算总页数_接口文档_.docx(為 数据服务概述 建立的API)
從API文檔中,我們瞭解到:
類型 | 具體說明 |
---|---|
請求地址 | https://demo.finedatalink.com/service/publish/87c912e5-7b45-4b67-9254-0e5818fd4eee/apiyeshu |
Content-Type | application/json |
請求方式 | POST |
Body 內容 | { "paging": { "pageNum": 1, "pageSize": 10 }, "params": [{ "name": "dtime", "value": " " }] } Body 內包含參數,名稱為 dtime,呼叫該API時,需要使用補充參數值進行取數 |
傳回內容 (呼叫API時用不到,可判斷是否呼叫成功) | { "totalNum": 1, 取出的具體資料在 data 欄位中,可解析 data 欄位 |
3.2 定時任務設定
1)建立定時任務,拖入「資料同步」節點。
2)「資料同步」節點中,根據API文檔,設定請求方式、API地址、Body 內容。如下圖所示:
本文範例中,回應體處理中輸入$.data,解析 data 欄位。點選「資料預覽」,如下圖所示:
若不解析 data 欄位,取出的資料如下圖所示:
3)點選「資料去向與映射」Tab,可將取出的API資料儲存到資料庫中。如下圖所示:
4)寫入方式選擇「追加寫入資料」。
3.3 效果查看
任務運作後,日誌如下圖所示:
資料庫資料如下圖所示: