跳至主要内容
版本:v3

資料服務 (Data Services)

Data Service 是一個 API 的資料服務,讓您能夠更輕鬆地建立自定義 API。

透過 "Data Service API",您可以輕鬆地將 Canner Workspace 中的數據表轉化為可用的 API,無需編寫複雜的程式碼,只需使用介面上的選單操作,就能快速建立 API。

Data Service 設定流程步驟

Step 1: 進入 Data Service 頁面

首先,在側欄中,先選取要在哪個工作區建立 Data Service 。選取後,進入到 Data Services 的標籤頁中。

1_data_service_step1

Step 2: 建立 API 基本資訊

點擊  Create a Data Service 按鈕。

2_data_service

設定該 Data Service 的名稱、資料表、描述、URL Path 以及 Cache 與否。

3_data_service

點擊 Cache 按鈕,顯示可設定的 Cache 排程

  • 排程更新時間:可選擇永不重複或定期更新
  • 定期更新時間:可選擇 時間單位

4_data_service

Step 3: 設定 Parameters, Validation rules, Response Columns

點擊 + 按鈕,新增 Parameter。

5_data_service

6_data_service

設定 Parameter、Operator 與對應的 Validation Rules

  • Required : 表示是否為必要參數
  • Operator : API Parameters 抓取資料條件選項。(一般 API 只提供 equal to)
  • Validation Rules : API Parameters 驗證條件,使用者填入不符合條件規則的參數值時會回傳錯誤。驗證條件可多選,若一個參數有多個條件,則必須同時滿足所有條件,才可成功請求 API。

Operator 與對應的 Validation Rules 支援項目請參考這

7_data_service

點擊 Add Operation 按鈕,新增 Operator,一個參數可有多個 Operators。

8_data_service

9_data_service

設定 Response column

10_data_service

Step 4: 模擬 API 查詢結果

系統會根據您在上一個步驟的設計模擬 API 查詢結果

SQL statement

在這一階段您可以根據自身需求客製化查詢語句,但強烈建議此一操作最好由技術人員執行,客製化後需再回到前一步驟將設定調整成與剛剛客製化的內容一致,避免 Data Service API 與 API 文件出現不一致情況

SQL statement

Data Service API 只支援單一資料表轉換成 API

在 Customerize SQL 中系統您可以對多個資料表進行查詢,但 Data Service API 只支援單一資料表轉換成 API

點擊 Select Parameters 按鈕,輸入要模擬查詢的參數。

模擬預覽

當使用 Customize SQL 時,請輸入參數以便預覽模擬查詢結果

api_step3-filter

Step 5: API 設定完成

回到  Data Services 的標籤頁,可以看到剛剛建立的 Data Service API。

  • 點擊 View API Docs ,另外開啟 API 文件分頁, 並支援 API 文件下載。
  • 編輯與刪除權限,僅限建立者和工作區 owner

11_data_service

Data Consumer 只能看到 Semantic 資料

API 的 semantic 設定 是跟著來源資料表,因此 Data Consumer 無法看到非 semantic 的API

Data Service API 建立者刪除

Data Service API 權限屬於建立者與工作區owner,因此 API 建立者帳號移除前,需先清除其底下所有 API,方可完成帳號移除

支援的 Parameter Operations 與 Validation Rules

Parameter 的型別OperatorValidation Rules-1Validation Rules-2Validation Rules-3
Booleaneq(=)xxx
Integer, Fixed-precision, Floating-pointequal to (eq)Max, Minxx
greater than(gt)xxx
greater than and equal to (gte)xxx
less than (lt)xxx
less than and equal to (lte)xxx
Stringequal to (eq)Max, MinFormat (Regex Pattern)enum
likeMax, MinFormat (Regex Pattern)x
inMax, MinFormat (Regex Pattern)x
Dateequal to (eq)Format(YYYY-MM-DD)xx
greater than(gt)Format(YYYY-MM-DD)xx
greater than and equal to (gte)Format(YYYY-MM-DD)xx
less than (lt)Format(YYYY-MM-DD)xx
less than and equal to (lte)Format(YYYY-MM-DD)xx
Timestampequal to (eq)Format(YYYY-MM-DD HH:mm:ss)xx
greater than(gt)Format(YYYY-MM-DD HH:mm:ss)xx
greater than and equal to (gte)Format(YYYY-MM-DD HH:mm:ss)xx
less than (lt)Format(YYYY-MM-DD HH:mm:ss)xx
less than and equal to (lte)Format(YYYY-MM-DD HH:mm:ss)xx