為了滿足高階用戶的個性化查詢需求,數據服務也提供了自定義SQL的腳本模式,允許您自行編寫API的查詢SQL,并支持多表關聯、復雜查詢條件以及聚合函數等能力。
配置API基本信息
1.在DataArts Studio控制臺首頁,選擇實例,點擊“進入控制臺”,選擇對應工作空間的“數據服務”模塊,進入數據服務頁面。
詳見下圖:選擇數據服務

2.在左側導航選擇服務版本(例如:專享版),進入總覽頁。
3.進入“API管理”頁面,單擊“新建”,填寫API基本信息。
詳見下表: API基本信息
| 配置 | 說明 |
|---|---|
| API名稱 | 支持中文、英文、數字、下劃線,且只能以英文或中文開頭,3-64個字符。 |
| API目錄 | 一個特定功能或場景的API集合,類似文件夾,是數據服務中API的最小組織單元,也是API網關中的最小管理單元。 您可單擊“新建”進行新建,也可選擇已創建的API分組。 |
| 請求Path | API訪問路徑,例如:/v2/{project_id}/streams。 請求Path即完整的url中,域名之后、查詢參數之前的部分,如下圖中的“/blogs/188138”。詳見下圖: 統一資源定位符url說明 在請求路徑中,可以使用大括號{}標識路徑中的參數作為通配符。如“/blogs/{blog_id}”表示/blogs后可以攜帶任何參數,例如“/blogs/188138”和“/blogs/0”均會匹配至/blogs/{blog_id},由此API統一處理。 此外,相同域名下,不允許重復的請求路徑出現。路徑參數作為通配符時,名稱不具備唯一性,例如“/blogs/{blog_id}”和“/blogs/{xxxx}”,會被視作相同路徑。 |
| 參數協議 | 用于傳輸請求的協議,支持HTTP和HTTPS協議。 HTTP屬于基礎的網絡傳輸協議,無狀態、無連接、簡單、快速、靈活、使用明文傳輸,在使用上較為便捷,但是安全性欠佳。 HTTPS是在HTTP協議上進行了SSL或TLS加密校驗的協議,能夠有效驗證身份以及保護數據完整性。相對的,訪問HTTPS的API,需要配置相關的SSL證書或跳過SSL校驗,否則將無法訪問。 |
| 請求方式 | HTTP請求方式,表示請求什么類型的操作,包含GET、POST等,遵循resultful風格。 GET:請求服務器返回指定資源,推薦使用GET請求。 POST:請求服務器新增資源或執行特殊操作,僅在注冊API時使用。POST請求當前不支持body體,而是直接透傳。 |
| 描述 | 對API進行簡要描述。 |
| 標簽 | 對API設置標簽。用于標記當前API的屬性,創建后可以通過標簽快速檢索定位API。單個API最多可設置20個標簽。 |
| 審核人 | 擁有API的審核權限。 單擊“新建”,進入“審核中心>審核人管理”頁面,新建審核人。 |
| 安全認證 | API認證方式: APP認證:表示由API網關服務負責接口請求的安全認證,安全級別最高。 IAM認證:表示借助IAM服務進行安全認證,安全級別中等。 無認證:屬于無防護的模式,無需認證即可訪問,安全級別低,不推薦使用。 |
| 服務目錄可見性 | 發布后,所選范圍內的用戶均可以在服務目錄中看到此API。 當前工作空間可見 當前項目可見 當前租戶可見 |
| 訪問日志 | 勾選,則此API的查詢結果將會產生記錄并被保留7天,可以在“運營管理>訪問日志”處通過選擇“請求日期”的方式查看對應日期的日志。 |
| 最低保留期限 | API解綁前預留的最低期限。0表示不設限制。 API進行停用/下線/取消授權時,會通知已授權用戶,并為用戶預留至少X小時,直到所有授權用戶均完成解除或處理,或者到達截止時間,API才會停用/下線/取消授權。 |
| 入參定義 | 配置API請求中的參數,包含資源路徑中的動態參數,請求URI中的查詢參數和Header參數。 添加入參定義時,如果參數設定為必填,則API在訪問時,必須傳入指定參數;如果非必填,則在API訪問時,未傳入的參數,會使用默認值進行代替。 參數大小限制如下: query+path,url最大32KB header,最大128KB body, 最大128KB 以配置資源路徑中的動態參數為例進行說明,例如資源路徑(請求Path)設置為: /v2/{project_id}/streams,資源路徑中的{project_id}為動態參數,需要在此進行配置。 1. 單擊“添加”,參數名配置為project_id。 2. 參數位置選擇PATH。 3. 類型設置為STRING。 4. 選擇性配置示例值和描述。 |
4.配置好API基本信息后,單擊“下一步”,即可進入API取數邏輯頁面。
配置取數邏輯
“取數方式”選擇“腳本方式”:
1.選擇數據源、數據連接、數據庫和隊列,獲取到需要配置的表。
說明數據服務僅支持部分數據源,詳情請參見圖 DataArts Studio支持的數據源。您需提前在DataArts Studio管理中心中配置好數據源,按照腳本編輯提示要求輸入SQL語句。
2.編寫API查詢SQL。
在腳本編輯頁面,按照腳本編輯提示要求輸入SQL語句。
說明
SELECT查詢的字段即為API返回參數,支持返回別名。
WHERE條件中的參數為API請求參數,參數格式為${參數名}。
3.選擇分頁方式。
默認分頁是指在創建API時輸入了SQL,數據服務會自動基于SQL外層包裝分頁邏輯。例如輸入的SQL腳本為:
SELECT name as Student_Name FROM tableofresults
數據服務在處理調試或者調用時,將自動在用戶SQL外層包裝分頁邏輯,從而變成以下腳本:
SELECT * FROM (SELECT name as Student_Name FROM tableofresults) LIMIT {pageSize} OFFSET {offsetValue}
其中pageNum、offsetValue為調試或者調用時傳入參數的值。如果未定義pageNum參數的話,數據服務將默認給API設置一個pageNum參數;offsetValue是調試或者調用時傳入參數pageSize的值計算得到,如果用戶未定義pageSize參數的話,數據服務將默認給API設置一個pageSize參數。
自定義分頁是指用戶在創建API時,數據服務將不對用戶SQL進行處理,分頁邏輯完全由用戶定義。如果用戶需要創建分頁的API的話,則可以在寫SQL時加入分頁邏輯。例如:
SELECT name as Student_Name FROM tableofresults LIMIT {pageSize} OFFSET {offsetValue}
4.添加排序參數。
在排序參數列表中,設置排序字段是否可選,排序方式和描述。單擊
,將入參和排序參數添加為SQL語句的API請求參數。
說明添加排序參數前,請確保SQL語句正確。
5.編輯請求參數信息
編寫好API查詢SQL后,單擊“測試SQL”,在數據庫字段頁簽內綁定HTTP入參。參見配置取數邏輯中的6配置pre_order_by參數。
說明pre_order_by是非必填參數,當未配置pre_order_by參數值時,則選取非可選排序字段作為排序的依據。
測試API
完成API參數的配置并保存后,單擊左下角的“開始測試”,可進入API測試環節。
填寫參數值,單擊“開始測試”,即可在線發送API請求,在右側可以看到API請求詳情及返回內容。如果測試失敗,請仔細查看錯誤提示并做相應的修改重新測試。 配置過程中需要注意正常返回示例的設置。
完成API測試之后,單擊“確定”,即成功生成了一個數據API。
修改API
生成API后,如果您需要修改API內容,可在“開發API > API目錄”或“開發API > API管理”處選擇對應API,點擊“編輯”按鈕進行修改API的相關操作。
說明僅當API處于已創建、已駁回、已下線、已停用的情況下才能進行API修改。