本文介紹 FineDataLink 提供的可被簡道雲、FR、外部系統呼叫的定時任務相關API。
注1:API呼叫說明請參見:呼叫定時任務相關API說明;FR中呼叫API範例請參見:FR範本呼叫定時任務API範例
注2:本文API適用於 4.0.29 及以上版本。
注1:實體ID即為運作記錄ID,運作記錄ID在「任務維運>定時任務>運作記錄」中查看。
注2:所有API呼叫時,都需要進行API認證的,否則會提示鑑權失敗;本文API範例認證使用的是「開放平台認證模式」,API認證方式請參見:API認證模式說明
注3:只有定時任務「發佈模式」下運作的任務支援API運作和終止任務。
基本資訊:
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 請求參數
2)body 請求參數:
請求類型:raw_json
{"workId": "e10f1f1a-d567-4058-98bb-b71204154f8b", "latest": false, //【非必填】僅查詢最近一次:是、否 /*不填則為否*/"startTime": "", //【非必填】開始時間 /*不填則為無限*/"finishTime": "", //【非必填】結束時間 /*不填則為無限*/"taskStatus": "SUCCESS", //【非必填】運作狀態 /*不填則傳回所有*/ "triggerMethod": "MANUAL" //【非必填】觸發方式:手動、定時 }
【非必填】運作狀態
SUCCESS:成功
ERROR:運作失敗
BUILD_FAIL:構建失敗
INTERRUPT:中斷
RUNNING:運作中
QUEUING:佇列中
回應範例:
成功
{ "status": 200, "data": { "executeIds": [ "7d5a4b14-f0de-47b8-91ad-a8777b76236c", "0d20a589-e66f-4b47-8256-e40e0252eea2", "24c6d78a-2d4f-40b5-b9fb-08eef1133612", "9fa0d375-89f4-425f-8e39-0c6de623637a", ] }}
實體ID列表
實體ID即為運作記錄ID
API URL:http://localhost:8080/webroot/decision/sp/client/api/fdl/workName/records
2)body請求參數:
{"workName": "fdlDemo", //【必填】任務名稱"latest": true, //【非必填】僅查詢最近一次:是、否 /*不填則為否*/"startTime": "", //【非必填】開始時間 /*不填則為無限*/"finishTime": "", //【非必填】結束時間 /*不填則為無限*/"taskStatus": "SUCCESS", //【非必填】運作狀態"triggerMethod": "FIX_TIME" //【非必填】觸發方式:手動、定時 /*不填則傳回所有*/ }
【非必填】運作狀態:
1)成功
注:無查詢結果時傳回空值。
{ "status": 200, "data": { "executeIds": [ "40fc80c6-ac03-4943-b6d7-e79ff5cca581" ] }}
2)失敗
{ "status": 200, "errorCode": "E8130031", "errorMsg": "任務不存在,無法獲取檔案"}
API URL:http://localhost:8080/webroot/decision/sp/client/api/fdl/record/info?recordId=
請求類型:GET
Query 請求參數:
1)成功:
{"status": 200, //【非必填】運作狀態 /*不填則傳回所有*/"data": {"recordId": "16f7f568-767f-4786-bb2c-5dbc64cfbcad", //實體ID"taskId": "868478d9-a36d-481f-b42d-6074310c2829", //任務ID"taskName": "fdlDemo", //任務名稱"taskPath": "任務列表/一級目錄/fdlDemo", //任務目錄"status": "INTERRUPT", //實體運作狀態"startTime": 1690786927020, //實體運作開始時間"finishTime": 1690786944299, //實體運作結束時間"triggerMethod": "MANUAL", //實體觸發方式"triggerBy": "root" //實體觸發人}}顯示程式碼
{"status": 200, //【非必填】運作狀態 /*不填則傳回所有*/"data": {"recordId": "16f7f568-767f-4786-bb2c-5dbc64cfbcad", //實體ID"taskId": "868478d9-a36d-481f-b42d-6074310c2829", //任務ID"taskName": "fdlDemo", //任務名稱"taskPath": "任務列表/一級目錄/fdlDemo", //任務目錄"status": "INTERRUPT", //實體運作狀態"startTime": 1690786927020, //實體運作開始時間"finishTime": 1690786944299, //實體運作結束時間"triggerMethod": "MANUAL", //實體觸發方式"triggerBy": "root" //實體觸發人}}
實體ID
{"status": 200,"errorCode": "E8130012","errorMsg": "can not find record by recordId"}
3)無權限
{"status": 200,"errorCode": "E8130011","errorMsg": "使用者沒有權限"}
API URL:http://localhost:8080/webroot/decision/sp/client/api/fdl/workId/execute
注:該API不支援同時呼叫多個定時任務的執行。
{ "workId": "e10f1f1a-d567-4058-98bb-b71204154f8b", "params": { "paramName": "paramValue" }, "waitForResponse": false, "triggerDownstream":true, "waitTime": 10000}
若 Body 內非必填欄位為空,Body 格式為:
{ "workId": "e10f1f1a-d567-4058-98bb-b71204154f8b", "params": {}}
【非必填】執行參數
可向定時任務傳遞參數,具體可參見:FR範本呼叫定時任務並傳參
4.2.16.3 及之後版本新增支援使用此參數
【非必填】外部呼叫任務執行的API預設不運作下游,需要運作下游時需要在請求 body 里加上此參數。為 true 時,使用「運作任務及下游」方式
【非必填】等待時間單位毫秒 預設值 60000 毫秒
注:若「waitForResponse」參數值為「false」,則「waitTime」參數不生效;若「waitForResponse」參數值為「true」,那麼在 waitTime 參數值設定的時間後會傳回當前任務的狀態結果。
{"status": 200,"data": {"recordId": "70aa0661-c626-4c55-bbba-e392624945fa", //運作實體ID"status": "SUCCESS" //運作實體狀態}}
運作實體ID
僅當請求參數【等待任務運作完成再傳回內容】為【是】時傳回此內容
實體運作結果:
BUILDING:構建中
{"status": 200,"errorCode": "E8130051","errorMsg": "任務不存在,無法獲取檔案"}
3)必填為空
{"status": 200,"errorCode": "E8130052","errorMsg": "workId can not be null!"}
4)沒有權限操作
{"status": 200,"errorCode": "E8130059","errorMsg": "使用者沒有權限"}
API URL:http://localhost:8080/webroot/decision/sp/client/api/fdl/workName/execute
{"workName": "fdlDemo", //【必填】任務名稱"params": {"paramName": "paramValue" //【非必填】執行參數,若無則空即可}, //【非必填】執行參數"waitForResponse": "true", //【非必填】等待任務運作完成再傳回內容"triggerDownstream":true,//【非必填】是否運作下游任務"waitTime": 10000 }
{"workName": "列欄轉換","params": {"paramName": ""}}
{"status": 200, "data": {"recordId": "e14169b9-328c-4b62-8a75-abc546f61d38", "status": "SUCCESS" } }
{"status": 200, "errorCode": "E8130061", "errorMsg": "任務不存在,無法獲取檔案" }
{"status": 200,"errorCode": "E8130061","errorMsg": "workName can not be null!"}
{ "status": 200, "errorCode": "E8130069", "errorMsg": "使用者沒有權限"}
不會檢查實體是否處於運作狀態,因此終止實體,會把等待運作的實體也終止掉。
請求成功不代表終止成功,終止有一定的延遲。
API URL:http://localhost:8080/webroot/decision/sp/client/api/fdl/workId/terminate?workId=e10f1f1a-d567-4058-98bb-b71204154f8b
2)Query 請求參數:
{"code": "200","message": "success"}
API URL:http://localhost:8080/webroot/decision/sp/client/api/fdl/workName/terminate?workName=01資料同步
{"code": "200","data": "success"}
{"status": 200, "errorCode": "E8130089", "errorMsg": "任務不存在,無法獲取檔案" }
API URL:http://localhost:8080/webroot/decision/sp/client/api/fdl/records/terminate
2)Body 請求參數:
{"executeIds": ["16f7f568-767f-4786-bb2c-5dbc64cfbcad222"] //【必填】運作實體ID}
{"status": 200,"data": "success"}
{ "status": 200, "errorCode": "E8130042", "errorMsg": "executeIds can not be null!"}
滑鼠選中內容,快速回饋問題
滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。
不再提示
10s後關閉
反馈已提交
网络繁忙