1. 概述
本文介紹 FineDataLink 提供的可被簡道雲、FR、外部系統呼叫的定時任務相關API。
注1:API呼叫說明請參見:呼叫定時任務相關API說明;FR中呼叫API範例請參見:FR範本呼叫定時任務API範例
注2:本文API適用於 4.0.29 及以上版本。
2. API介紹
注1:實體ID即為運作記錄ID,運作記錄ID在「任務維運>定時任務>運作記錄」中查看。
注2:所有API呼叫時,都需要進行API認證的,否則會提示鑑權失敗;本文API範例認證使用的是「開放平台認證模式」,API認證方式請參見:API認證模式說明
注3:只有定時任務「發佈模式」下運作的任務支援API運作和終止任務。
2.1 根據任務ID查詢實體列表
基本資訊:
API URL:http://localhost:8080/webroot/decision/sp/client/api/fdl/workId/records
注:http://localhost:8080/webroot/decision需要根據使用者實際情況修改為對應的 FineDataLink 地址。
Content-Type:application/json
請求類型:POST
請求參數:
1)Params 請求參數
| 參數名 | 參數值 | 是否必填 | 參數類型 | 描述說明 |
|---|---|---|---|---|
| client_id | {{CLIENT_ID}} | 是 | String | API鑑權使用的client_id參數,此處使用AkSk認證,可根據應用鑑權方式靈活取代 |
| secret | {{SECRET}} | 是 | String | API鑑權使用的secret參數,此處使用AkSk認證,可根據應用鑑權方式靈活取代 |
2)body 請求參數:
請求類型:raw_json
| 參數名 | 參數值 | 是否必填 | 參數類型 | 描述說明 |
|---|---|---|---|---|
| workId | e10f1f1a-d567-4058-98bb-b71204154f8b | 是 | String | 定時任務ID |
| latest | false | 否 | Boolean | 【非必填】僅查詢最近一次:是、否,不填則為否 |
| startTime | 否 | String | 【非必填】開始時間 ,不填則為無限 | |
| finishTime | 否 | String | 【非必填】結束時間,不填則為無限 | |
| taskStatus | 否 | String | 【非必填】運作狀態 SUCCESS:成功 ERROR:運作失敗 BUILD_FAIL:構建失敗 INTERRUPT:中斷 RUNNING:運作中 QUEUING:佇列中 BUILDING:構建中 | |
| triggerMethod | MANUAL | 否 | String | 【非必填】觸發方式:手動、定時,不填則傳回所有,枚舉:MANUAL FIX_TIME |
回應範例:
成功
| 參數名 | 參數值 | 參數類型 | 描述說明 |
|---|---|---|---|
| status | 200 | Integer | |
| data | Object | ||
| data.executeIds | 7d5a4b14-f0de-47b8-91ad-a8777b76236c | Array | 實體ID列表 實體ID即為運作記錄ID |
2.2 根據任務名查詢實體列表
基本資訊:
API URL:http://localhost:8080/webroot/decision/sp/client/api/fdl/workName/records
注:http://localhost:8080/webroot/decision需要根據使用者實際情況修改為對應的 FineDataLink 地址。
Content-Type:application/json
請求類型:POST
請求參數:
1)Params 請求參數
| 參數名 | 參數值 | 是否必填 | 參數類型 | 描述說明 |
|---|---|---|---|---|
| client_id | {{CLIENT_ID}} | 是 | String | API鑑權使用的client_id參數,此處使用AkSk認證,可根據應用鑑權方式靈活取代 |
| secret | {{SECRET}} | 是 | String | API鑑權使用的secret參數,此處使用AkSk認證,可根據應用鑑權方式靈活取代 |
2)body請求參數:
請求類型:raw_json
| 參數名 | 參數值 | 是否必填 | 參數類型 | 描述說明 |
|---|---|---|---|---|
| workName | fdlDemo | 是 | String | 【必填】任務名稱 |
| latest | true | 否 | Boolean | 【非必填】僅查詢最近一次:是、否,不填則為否 |
| startTime | 否 | String | 【非必填】開始時間,不填則為無限 | |
| finishTime | 否 | String | 【非必填】結束時間,不填則為無限 | |
| taskStatus | SUCCESS | 否 | String | 【非必填】運作狀態: SUCCESS:成功 ERROR:運作失敗 BUILD_FAIL:構建失敗 INTERRUPT:中斷 RUNNING:運作中 QUEUING:佇列中 BUILDING:構建中 |
| triggerMethod | FIX_TIME | 否 | String | 【非必填】觸發方式:手動、定時,不填則傳回所有,枚舉:MANUAL FIX_TIME |
回應範例:
1)成功
注:無查詢結果時傳回空值。
| 參數名 | 參數值 | 參數類型 | 描述說明 |
|---|---|---|---|
| status | 200 | Integer | |
| data | Object | ||
| data.executeIds | 40fc80c6-ac03-4943-b6d7-e79ff5cca581 | Array | 實體ID列表 |
2)失敗
| 參數名 | 參數值 | 參數類型 | 描述說明 |
|---|---|---|---|
| status | 200 | Integer | |
| errorCode | E8130031 | String | |
| errorMsg | 任務不存在,無法獲取檔案 | String |
2.3 根據實體ID查詢實體資訊
基本資訊:
API URL:http://localhost:8080/webroot/decision/sp/client/api/fdl/record/info?recordId=
注:http://localhost:8080/webroot/decision需要根據使用者實際情況修改為對應的 FineDataLink 地址。
請求類型:GET
請求參數:
Query 請求參數:
| 參數名 | 參數值 | 是否必填 | 參數類型 | 描述說明 |
|---|---|---|---|---|
| recordId | 16f7f568-767f-4786-bb2c-5dbc64cfbcad | 是 | String | - |
| client_id | {{CLIENT_ID}} | 是 | String | API鑑權使用的client_id參數,此處使用AkSk認證,可根據應用鑑權方式靈活取代 |
| secret | {{SECRET}} | 是 | String | API鑑權使用的secret參數,此處使用AkSk認證,可根據應用鑑權方式靈活取代 |
回應範例:
1)成功:
| 參數名 | 參數值 | 參數類型 | 描述說明 |
|---|---|---|---|
| status | 200 | Integer | 【非必填】運作狀態:成功、失敗、中斷、運作中,不填則傳回所有 |
| data | Object | ||
| data.recordId | 16f7f568-767f-4786-bb2c-5dbc64cfbcad | String | 實體ID 實體ID即為運作記錄ID |
| data.taskId | 868478d9-a36d-481f-b42d-6074310c2829 | String | 任務ID |
| data.taskName | fdlDemo | String | 任務名稱 |
| data.taskPath | 任務列表/一級目錄/fdlDemo | String | 任務目錄 |
| data.status | INTERRUPT | String | 實體運作狀態 |
| data.startTime | 1690786927020 | Integer | 實體運作開始時間 |
| data.finishTime | 1690786944299 | Integer | 實體運作結束時間 |
| data.triggerMethod | MANUAL | String | 實體觸發方式 |
| data.triggerBy | root | String | 實體觸發人 |
2)失敗
| 參數名 | 參數值 | 參數類型 | 描述說明 |
|---|---|---|---|
| status | 200 | Integer | |
| errorCode | E8130011 | String | |
| errorMsg | can not find record by recordId | String |
3)無權限
| 參數名 | 參數值 | 是否必填 | 參數類型 | 描述說明 |
|---|---|---|---|---|
| status | 200 | 是 | Integer | |
| errorCode | E8130011 | 是 | String | |
| errorMsg | 使用者沒有權限 | 是 | String |
2.4 基於任務ID運作任務
基本資訊:
API URL:http://localhost:8080/webroot/decision/sp/client/api/fdl/workId/execute
注:http://localhost:8080/webroot/decision需要根據使用者實際情況修改為對應的 FineDataLink 地址。
Content-Type:application/json
請求類型:POST
請求參數:
1)Params 請求參數
| 參數名 | 參數值 | 是否必填 | 參數類型 | 描述說明 |
|---|---|---|---|---|
| client_id | {{CLIENT_ID}} | 是 | String | API鑑權使用的client_id參數,此處使用AkSk認證,可根據應用鑑權方式靈活取代 |
| secret | {{SECRET}} | 是 | String | API鑑權使用的secret參數,此處使用AkSk認證,可根據應用鑑權方式靈活取代 |
2)body請求參數:
請求類型:raw_json
注:該API不支援同時呼叫多個定時任務的執行。
若 Body 內非必填欄位為空,Body 格式為:
| 參數名 | 參數值 | 是否必填 | 參數類型 | 描述說明 |
|---|---|---|---|---|
| workId | e10f1f1a-d567-4058-98bb-b71204154f8b | 是 | String | 【必填】任務ID |
| params | 否 | Object | 【非必填】執行參數 可向定時任務傳遞參數,具體可參見:FR範本呼叫定時任務並傳參 | |
| params.paramName | paramValue | 否 | String | 【非必填】執行參數 |
| waitForResponse | true | 否 | String | 【非必填】等待任務運作完成再傳回內容,是、否 ,不填則為否,為否時直接傳回實體ID或請求的結果,不傳回運作結果 |
| triggerDownstream | true | 否 | String | 4.2.16.3 及之後版本新增支援使用此參數 【非必填】外部呼叫任務執行的API預設不運作下游,需要運作下游時需要在請求 body 里加上此參數。為 true 時,使用「運作任務及下游」方式 |
| waitTime | 10000 | 否 | String | 【非必填】等待時間單位毫秒 預設值 60000 毫秒 注:若「waitForResponse」參數值為「false」,則「waitTime」參數不生效;若「waitForResponse」參數值為「true」,那麼在 waitTime 參數值設定的時間後會傳回當前任務的狀態結果。 |
回應範例:
1)成功
| 參數名 | 參數值 | 參數類型 | 描述說明 |
|---|---|---|---|
| status | 200 | Integer | |
| data | Object | ||
| data.recordId | 70aa0661-c626-4c55-bbba-e392624945fa | String | 運作實體ID 實體ID即為運作記錄ID |
| data.status | SUCCESS | String | 僅當請求參數【等待任務運作完成再傳回內容】為【是】時傳回此內容 實體運作結果: SUCCESS:成功 ERROR:運作失敗 BUILD_FAIL:構建失敗 INTERRUPT:中斷 RUNNING:運作中 QUEUING:佇列中 BUILDING:構建中 |
2)失敗
| 參數名 | 參數值 | 參數類型 | 描述說明 |
|---|---|---|---|
| status | 200 | Integer | |
| errorCode | E8130051 | String | |
| errorMsg | 任務不存在,無法獲取檔案 | String |
3)必填為空
| 參數名 | 參數值 | 參數類型 |
|---|---|---|
| status | 200 | Integer |
| errorCode | E8130052 | String |
| errorMsg | workId can not be null! | String |
4)沒有權限操作
| 參數名 | 參數值 | 參數類型 |
|---|---|---|
| status | 200 | Integer |
| errorCode | E8130059 | String |
| errorMsg | 使用者沒有權限 | String |
2.5 基於任務名運作任務
基本資訊:
API URL:http://localhost:8080/webroot/decision/sp/client/api/fdl/workName/execute
注:http://localhost:8080/webroot/decision需要根據使用者實際情況修改為對應的 FineDataLink 地址。
Content-Type:application/json
請求類型:POST
請求參數:
1)Params 請求參數
| 參數名 | 參數值 | 是否必填 | 參數類型 | 描述說明 |
|---|---|---|---|---|
| client_id | {{CLIENT_ID}} | 是 | String | API鑑權使用的client_id參數,此處使用AkSk認證,可根據應用鑑權方式靈活取代 |
| secret | {{SECRET}} | 是 | String | API鑑權使用的secret參數,此處使用AkSk認證,可根據應用鑑權方式靈活取代 |
2)body請求參數:
請求類型:raw_json
若 Body 內非必填欄位為空,Body 格式為:
| 參數名 | 參數值 | 是否必填 | 參數類型 | 描述說明 |
|---|---|---|---|---|
| workName | fdlDemo | 是 | String | 【必填】任務名稱 |
| params | 否 | Object | 【非必填】執行參數 可向定時任務傳遞參數,具體可參見:FR範本呼叫定時任務並傳參 | |
| params.paramName | paramValue | 否 | String | 【非必填】執行參數 |
| waitForResponse | true | 否 | String | 【非必填】等待任務運作完成再傳回結果,是、否 ,不填則為否,為否時直接傳回實體ID或請求的結果,不傳回運作結果 |
| triggerDownstream | true | 否 | String | 4.2.16.3 及之後版本新增支援使用此參數 【非必填】外部呼叫任務執行的API預設不運作下游,需要運作下游時需要在請求 body 里加上此參數。為 true 時,使用「運作任務及下游」方式 |
| timeout | 10000 | 否 | String | 【非必填】等待時間 單位毫秒 預設值 60000毫秒 |
回應範例:
1)成功
| 參數名 | 參數值 | 參數類型 | 描述說明 |
|---|---|---|---|
| status | 200 | Integer | |
| data | Object | ||
| data.recordId | e14169b9-328c-4b62-8a75-abc546f61d38 | String | 運作實體ID |
| data.status | SUCCESS | String | 僅當請求參數【等待任務運作完成再傳回內容】為【是】時傳回此內容 實體運作結果: SUCCESS:成功 ERROR:運作失敗 BUILD_FAIL:構建失敗 INTERRUPT:中斷 RUNNING:運作中 QUEUING:佇列中 BUILDING:構建中 |
2)失敗
| 參數名 | 參數值 | 參數類型 | 描述說明 |
|---|---|---|---|
| status | 200 | Integer | |
| errorCode | E8130061 | String | |
| errorMsg | 任務不存在,無法獲取檔案 | String |
3)必填為空
| 參數名 | 參數值 | 參數類型 |
|---|---|---|
| status | 200 | Integer |
| errorCode | E8130061 | String |
| errorMsg | workName can not be null! | String |
4)沒有權限操作
| 參數名 | 參數值 | 參數類型 |
|---|---|---|
| status | 200 | Integer |
| errorCode | E8130069 | String |
| errorMsg | 使用者沒有權限 | String |
2.6 基於任務ID終止運作中實體
不會檢查實體是否處於運作狀態,因此終止實體,會把等待運作的實體也終止掉。
請求成功不代表終止成功,終止有一定的延遲。
基本資訊:
API URL:http://localhost:8080/webroot/decision/sp/client/api/fdl/workId/terminate?workId=e10f1f1a-d567-4058-98bb-b71204154f8b
注:http://localhost:8080/webroot/decision需要根據使用者實際情況修改為對應的 FineDataLink 地址。
請求類型:POST
請求參數:
1)Params 請求參數
| 參數名 | 參數值 | 是否必填 | 參數類型 | 描述說明 |
|---|---|---|---|---|
| client_id | {{CLIENT_ID}} | 是 | String | API鑑權使用的client_id參數,此處使用AkSk認證,可根據應用鑑權方式靈活取代 |
| secret | {{SECRET}} | 是 | String | API鑑權使用的secret參數,此處使用AkSk認證,可根據應用鑑權方式靈活取代 |
2)Query 請求參數:
| 參數名 | 參數值 | 是否必填 | 參數類型 | 描述說明 |
|---|---|---|---|---|
| workId | 868478d9-a36d-481f-b42d-6074310c2829 | 是 | String | 【必填】任務ID |
回應範例:
成功
| 參數名 | 參數值 | 參數類型 | 描述說明 |
|---|---|---|---|
| code | 200 | String | |
| message | success | String |
2.7 基於任務名終止運作中實體
不會檢查實體是否處於運作狀態,因此終止實體,會把等待運作的實體也終止掉。
請求成功不代表終止成功,終止有一定的延遲。
基本資訊:
API URL:http://localhost:8080/webroot/decision/sp/client/api/fdl/workName/terminate?workName=01資料同步
注:http://localhost:8080/webroot/decision需要根據使用者實際情況修改為對應的 FineDataLink 地址。
請求類型:POST
請求參數:
1)Params 請求參數
| 參數名 | 參數值 | 是否必填 | 參數類型 | 描述說明 |
|---|---|---|---|---|
| client_id | {{CLIENT_ID}} | 是 | String | API鑑權使用的client_id參數,此處使用AkSk認證,可根據應用鑑權方式靈活取代 |
| secret | {{SECRET}} | 是 | String | API鑑權使用的secret參數,此處使用AkSk認證,可根據應用鑑權方式靈活取代 |
2)Query 請求參數:
| 參數名 | 參數值 | 是否必填 | 參數類型 | 描述說明 |
|---|---|---|---|---|
| workName | 01資料同步 | 是 | String | 【必填】任務名稱 |
回應範例:
1)成功
| 參數名 | 參數值 | 參數類型 | 描述說明 |
|---|---|---|---|
| code | 200 | String | |
| message | success | String |
2)失敗
| 參數名 | 參數值 | 參數類型 | 描述說明 |
|---|---|---|---|
| status | 200 | Integer | |
| errorCode | E8130089 | String | |
| errorMsg | 任務不存在,無法獲取檔案 | String |
2.8 基於實體ID終止運作中實體
不會檢查實體是否處於運作狀態,因此終止實體,會把等待運作的實體也終止掉。
請求成功不代表終止成功,終止有一定的延遲。
基本資訊:
API URL:http://localhost:8080/webroot/decision/sp/client/api/fdl/records/terminate
注:http://localhost:8080/webroot/decision需要根據使用者實際情況修改為對應的 FineDataLink 地址。
Content-Type:application/json
請求類型:POST
請求參數:
1)Params 請求參數
| 參數名 | 參數值 | 是否必填 | 參數類型 | 描述說明 |
|---|---|---|---|---|
| client_id | {{CLIENT_ID}} | 是 | String | API鑑權使用的client_id參數,此處使用AkSk認證,可根據應用鑑權方式靈活取代 |
| secret | {{SECRET}} | 是 | String | API鑑權使用的secret參數,此處使用AkSk認證,可根據應用鑑權方式靈活取代 |
2)Body 請求參數:
| 參數名 | 參數值 | 是否必填 | 參數類型 | 描述說明 |
|---|---|---|---|---|
| executeIds | 16f7f568-767f-4786-bb2c-5dbc64cfbcad | 是 | Array | 【必填】運作實體ID |
回應範例:
1)成功
| 參數名 | 參數值 | 參數類型 |
|---|---|---|
| status | 200 | Integer |
| data | success | String |
2)失敗
| 參數名 | 參數值 | 參數類型 |
|---|---|---|
| status | 200 | Integer |
| errorCode | E8130042 | String |
| errorMsg | executeIds can not be null! | String |
