1. 概述
本文介绍 FineDataLink 提供的可被简道云、FR、外部系统调用的定时任务相关接口。
注1:接口调用说明请参见:调用定时任务相关接口说明;FR中调用接口示例请参见:FR模板调用定时任务接口示例
注2:本文接口适用于 4.0.29 及以上版本。
2. 接口介绍
注1:实例ID即为运行记录ID,运行记录ID在「任务运维>定时任务>运行记录」中查看。
注2:所有接口调用时,都需要进行接口认证的,否则会提示鉴权失败;本文接口示例认证使用的是「开放平台认证模式」,接口认证方式请参见:接口认证模式说明
注3:只有定时任务「发布模式」下运行的任务支持接口运行和终止任务。
2.1 根据任务ID查询实例列表
基本信息:
接口URL:http://localhost:8080/webroot/decision/sp/client/api/fdl/workId/records
注:http://localhost:8080/webroot/decision需要根据用户实际情况修改为对应的 FineDataLink 地址。
Content-Type:application/json
请求类型:POST
请求参数:
1)Header 请求参数
参数名 | 参数值 | 是否必填 | 参数类型 | 描述说明 |
---|---|---|---|---|
client_id | {{CLIENT_ID}} | 是 | String | 接口鉴权使用的client_id参数,此处使用AkSk认证,可根据应用鉴权方式灵活替换 |
secret | {{SECRET}} | 是 | String | 接口鉴权使用的secret参数,此处使用AkSk认证,可根据应用鉴权方式灵活替换 |
2)body 请求参数:
请求类型:raw_json
{
"workId": "e10f1f1a-d567-4058-98bb-b71204154f8b",
"latest": false, //【非必填】仅查询最近一次:是、否 /*不填则为否*/
"startTime": "", //【非必填】开始时间 /*不填则为无限*/
"finishTime": "", //【非必填】结束时间 /*不填则为无限*/
"taskStatus": "SUCCESS", //【非必填】运行状态:成功、失败、中断、运行中 /*不填则返回所有*/ 枚举值: INITIAL SUCCESS FAIL RUNNING DUPLICATE INVALID ERROR INTERRUPT
"triggerMethod": "MANUAL" //【非必填】触发方式:手动、定时 /*不填则返回所有*/ 枚举:MANUAL FIX_TIME
}
参数名 | 参数值 | 是否必填 | 参数类型 | 描述说明 |
---|---|---|---|---|
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,
"data": {
"executeIds": [
"7d5a4b14-f0de-47b8-91ad-a8777b76236c",
"0d20a589-e66f-4b47-8256-e40e0252eea2",
"24c6d78a-2d4f-40b5-b9fb-08eef1133612",
"9fa0d375-89f4-425f-8e39-0c6de623637a",
]
}
}
参数名 | 参数值 | 参数类型 | 描述说明 |
---|---|---|---|
status | 200 | Integer | |
data | Object | ||
data.executeIds | 7d5a4b14-f0de-47b8-91ad-a8777b76236c | Array | 实例ID列表 实例ID即为运行记录ID |
2.2 根据任务名查询实例列表
基本信息:
接口URL:http://localhost:8080/webroot/decision/sp/client/api/fdl/workName/records
注:http://localhost:8080/webroot/decision需要根据用户实际情况修改为对应的 FineDataLink 地址。
Content-Type:application/json
请求类型:POST
请求参数:
1)Header 请求参数
参数名 | 参数值 | 是否必填 | 参数类型 | 描述说明 |
---|---|---|---|---|
client_id | {{CLIENT_ID}} | 是 | String | 接口鉴权使用的client_id参数,此处使用AkSk认证,可根据应用鉴权方式灵活替换 |
secret | {{SECRET}} | 是 | String | 接口鉴权使用的secret参数,此处使用AkSk认证,可根据应用鉴权方式灵活替换 |
2)body请求参数:
请求类型:raw_json
{
"workName": "fdlDemo", //【必填】任务名称
"latest": true, //【非必填】仅查询最近一次:是、否 /*不填则为否*/
"startTime": "", //【非必填】开始时间 /*不填则为无限*/
"finishTime": "", //【非必填】结束时间 /*不填则为无限*/
"taskStatus": "SUCCESS", //【非必填】运行状态:成功、失败、中断、运行中 /*不填则返回所有*/ 枚举值: INITIAL SUCCESS FAIL RUNNING DUPLICATE INVALID ERROR INTERRUPT
"triggerMethod": "FIX_TIME" //【非必填】触发方式:手动、定时 /*不填则返回所有*/ 枚举:MANUAL FIX_TIME
}
参数名 | 参数值 | 是否必填 | 参数类型 | 描述说明 |
---|---|---|---|---|
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,
"data": {
"executeIds": [
"40fc80c6-ac03-4943-b6d7-e79ff5cca581"
]
}
}
参数名 | 参数值 | 参数类型 | 描述说明 |
---|---|---|---|
status | 200 | Integer | |
data | Object | ||
data.executeIds | 40fc80c6-ac03-4943-b6d7-e79ff5cca581 | Array | 实例ID列表 |
2)失败
{
"status": 200,
"errorCode": "E8130031",
"errorMsg": "任务不存在,无法获取文件"
}
参数名 | 参数值 | 参数类型 | 描述说明 |
---|---|---|---|
status | 200 | Integer | |
errorCode | E8130031 | String | |
errorMsg | 任务不存在,无法获取文件 | String |
2.3 根据实例ID查询实例信息
基本信息:
接口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 | 接口鉴权使用的client_id参数,此处使用AkSk认证,可根据应用鉴权方式灵活替换 |
secret | {{SECRET}} | 是 | String | 接口鉴权使用的secret参数,此处使用AkSk认证,可根据应用鉴权方式灵活替换 |
响应示例:
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 | 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,
"errorCode": "E8130012",
"errorMsg": "can not find record by recordId"
}
参数名 | 参数值 | 参数类型 | 描述说明 |
---|---|---|---|
status | 200 | Integer | |
errorCode | E8130011 | String | |
errorMsg | can not find record by recordId | String |
3)无权限
{
"status": 200,
"errorCode": "E8130011",
"errorMsg": "用户没有权限"
}
参数名 | 参数值 | 是否必填 | 参数类型 | 描述说明 |
---|---|---|---|---|
status | 200 | 是 | Integer | |
errorCode | E8130011 | 是 | String | |
errorMsg | 用户没有权限 | 是 | String |
2.4 基于任务ID运行任务
基本信息:
接口URL:http://localhost:8080/webroot/decision/sp/client/api/fdl/workId/execute
注:http://localhost:8080/webroot/decision需要根据用户实际情况修改为对应的 FineDataLink 地址。
Content-Type:application/json
请求类型:POST
请求参数:
1)Header 请求参数
参数名 | 参数值 | 是否必填 | 参数类型 | 描述说明 |
---|---|---|---|---|
client_id | {{CLIENT_ID}} | 是 | String | 接口鉴权使用的client_id参数,此处使用AkSk认证,可根据应用鉴权方式灵活替换 |
secret | {{SECRET}} | 是 | String | 接口鉴权使用的secret参数,此处使用AkSk认证,可根据应用鉴权方式灵活替换 |
2)body请求参数:
请求类型:raw_json
{
"workId": "e10f1f1a-d567-4058-98bb-b71204154f8b",
"params": {
"paramName": "paramValue"
},
"waitForResponse": false,
"waitTime": 10000
}
若 Body 内非必填字段为空,Body 格式为:
{
"workId": "e10f1f1a-d567-4058-98bb-b71204154f8b",
"params": {}
}
参数名 | 参数值 | 是否必填 | 参数类型 | 描述说明 |
---|---|---|---|---|
workId | e10f1f1a-d567-4058-98bb-b71204154f8b | 是 | String | 【必填】任务ID |
params | 否 | Object | 【非必填】执行参数 可向定时任务传递参数,具体可参见:FR模板调用定时任务并传参 | |
params.paramName | paramValue | 否 | String | 【非必填】执行参数 |
waitForResponse | true | 否 | String | 【非必填】等待任务运行完成再返回内容,是、否 ,不填则为否,为否时直接返回实例ID或请求的结果,不返回运行结果 |
waitTime | 10000 | 否 | String | 【非必填】等待时间 单位毫秒 缺省值 60000毫秒 |
响应示例:
1)成功
{
"status": 200,
"data": {
"recordId": "70aa0661-c626-4c55-bbba-e392624945fa", //运行实例ID
"status": "SUCCESS" //运行实例状态
}
}
参数名 | 参数值 | 参数类型 | 描述说明 |
---|---|---|---|
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,
"errorCode": "E8130051",
"errorMsg": "任务不存在,无法获取文件"
}
参数名 | 参数值 | 参数类型 | 描述说明 |
---|---|---|---|
status | 200 | Integer | |
errorCode | E8130051 | String | |
errorMsg | 任务不存在,无法获取文件 | String |
3)必填为空
{
"status": 200,
"errorCode": "E8130052",
"errorMsg": "workId can not be null!"
}
参数名 | 参数值 | 参数类型 |
---|---|---|
status | 200 | Integer |
errorCode | E8130052 | String |
errorMsg | workId can not be null! | String |
4)没有权限操作
{
"status": 200,
"errorCode": "E8130059",
"errorMsg": "用户没有权限"
}
参数名 | 参数值 | 参数类型 |
---|---|---|
status | 200 | Integer |
errorCode | E8130059 | String |
errorMsg | 用户没有权限 | String |
2.5 基于任务名运行任务
基本信息:
接口URL:http://localhost:8080/webroot/decision/sp/client/api/fdl/workName/execute
注:http://localhost:8080/webroot/decision需要根据用户实际情况修改为对应的 FineDataLink 地址。
Content-Type:application/json
请求类型:POST
请求参数:
1)Header 请求参数
参数名 | 参数值 | 是否必填 | 参数类型 | 描述说明 |
---|---|---|---|---|
client_id | {{CLIENT_ID}} | 是 | String | 接口鉴权使用的client_id参数,此处使用AkSk认证,可根据应用鉴权方式灵活替换 |
secret | {{SECRET}} | 是 | String | 接口鉴权使用的secret参数,此处使用AkSk认证,可根据应用鉴权方式灵活替换 |
2)body请求参数:
请求类型:raw_json
{
"workName": "fdlDemo", //【必填】任务名称
"params": {
"paramName": "paramValue" //【非必填】执行参数,若无则空即可
}, //【非必填】执行参数
"waitForResponse": "true", //【非必填】等待任务运行完成再返回内容
"waitTime": 10000
}
若 Body 内非必填字段为空,Body 格式为:
{
"workName": "行列转换",
"params": {
"paramName": ""
}
}
参数名 | 参数值 | 是否必填 | 参数类型 | 描述说明 |
---|---|---|---|---|
workName | fdlDemo | 是 | String | 【必填】任务名称 |
params | 否 | Object | 【非必填】执行参数 可向定时任务传递参数,具体可参见:FR模板调用定时任务并传参 | |
params.paramName | paramValue | 否 | String | 【非必填】执行参数 |
waitForResponse | true | 否 | String | 【非必填】等待任务运行完成再返回结果,是、否 ,不填则为否,为否时直接返回实例ID或请求的结果,不返回运行结果 |
timeout | 10000 | 否 | String | 【非必填】等待时间 单位毫秒 缺省值 60000毫秒 |
响应示例:
1)成功
{
"status": 200,
"data": {
"recordId": "e14169b9-328c-4b62-8a75-abc546f61d38",
"status": "SUCCESS"
}
}
参数名 | 参数值 | 参数类型 | 描述说明 |
---|---|---|---|
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,
"errorCode": "E8130061",
"errorMsg": "任务不存在,无法获取文件"
}
参数名 | 参数值 | 参数类型 | 描述说明 |
---|---|---|---|
status | 200 | Integer | |
errorCode | E8130061 | String | |
errorMsg | 任务不存在,无法获取文件 | String |
3)必填为空
{
"status": 200,
"errorCode": "E8130061",
"errorMsg": "workName can not be null!"
}
参数名 | 参数值 | 参数类型 |
---|---|---|
status | 200 | Integer |
errorCode | E8130061 | String |
errorMsg | workName can not be null! | String |
4)没有权限操作
{
"status": 200,
"errorCode": "E8130069",
"errorMsg": "用户没有权限"
}
参数名 | 参数值 | 参数类型 |
---|---|---|
status | 200 | Integer |
errorCode | E8130069 | String |
errorMsg | 用户没有权限 | String |
2.6 基于任务ID终止运行中实例
不会检查实例是否处于运行状态,因此终止实例,会把等待运行的实例也终止掉。
请求成功不代表终止成功,终止有一定的延迟。
基本信息:
接口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)Header 请求参数
参数名 | 参数值 | 是否必填 | 参数类型 | 描述说明 |
---|---|---|---|---|
client_id | {{CLIENT_ID}} | 是 | String | 接口鉴权使用的client_id参数,此处使用AkSk认证,可根据应用鉴权方式灵活替换 |
secret | {{SECRET}} | 是 | String | 接口鉴权使用的secret参数,此处使用AkSk认证,可根据应用鉴权方式灵活替换 |
2)Query 请求参数:
参数名 | 参数值 | 是否必填 | 参数类型 | 描述说明 |
---|---|---|---|---|
workId | 868478d9-a36d-481f-b42d-6074310c2829 | 是 | String | 【必填】任务ID |
响应示例:
成功
{
"code": "200",
"message": "success"
}
参数名 | 参数值 | 参数类型 | 描述说明 |
---|---|---|---|
code | 200 | String | |
message | success | String |
2.7 基于任务名终止运行中实例
不会检查实例是否处于运行状态,因此终止实例,会把等待运行的实例也终止掉。
请求成功不代表终止成功,终止有一定的延迟。
基本信息:
接口URL:http://localhost:8080/webroot/decision/sp/client/api/fdl/workName/terminate?workName=01数据同步
注:http://localhost:8080/webroot/decision需要根据用户实际情况修改为对应的 FineDataLink 地址。
请求类型:POST
请求参数:
1)Header 请求参数
参数名 | 参数值 | 是否必填 | 参数类型 | 描述说明 |
---|---|---|---|---|
client_id | {{CLIENT_ID}} | 是 | String | 接口鉴权使用的client_id参数,此处使用AkSk认证,可根据应用鉴权方式灵活替换 |
secret | {{SECRET}} | 是 | String | 接口鉴权使用的secret参数,此处使用AkSk认证,可根据应用鉴权方式灵活替换 |
2)Query 请求参数:
参数名 | 参数值 | 是否必填 | 参数类型 | 描述说明 |
---|---|---|---|---|
workName | 01数据同步 | 是 | String | 【必填】任务名称 |
响应示例:
1)成功
{
"code": "200",
"data": "success"
}
参数名 | 参数值 | 参数类型 | 描述说明 |
---|---|---|---|
code | 200 | String | |
message | success | String |
2)失败
{
"status": 200,
"errorCode": "E8130089",
"errorMsg": "任务不存在,无法获取文件"
}
参数名 | 参数值 | 参数类型 | 描述说明 |
---|---|---|---|
status | 200 | Integer | |
errorCode | E8130089 | String | |
errorMsg | 任务不存在,无法获取文件 | String |
2.8 基于实例ID终止运行中实例
不会检查实例是否处于运行状态,因此终止实例,会把等待运行的实例也终止掉。
请求成功不代表终止成功,终止有一定的延迟。
基本信息:
接口URL:http://localhost:8080/webroot/decision/sp/client/api/fdl/records/terminate
注:http://localhost:8080/webroot/decision需要根据用户实际情况修改为对应的 FineDataLink 地址。
Content-Type:application/json
请求类型:POST
请求参数:
1)Header 请求参数
参数名 | 参数值 | 是否必填 | 参数类型 | 描述说明 |
---|---|---|---|---|
client_id | {{CLIENT_ID}} | 是 | String | 接口鉴权使用的client_id参数,此处使用AkSk认证,可根据应用鉴权方式灵活替换 |
secret | {{SECRET}} | 是 | String | 接口鉴权使用的secret参数,此处使用AkSk认证,可根据应用鉴权方式灵活替换 |
2)Body 请求参数:
{
"executeIds": [
"16f7f568-767f-4786-bb2c-5dbc64cfbcad222"
] //【必填】运行实例ID
}
参数名 | 参数值 | 是否必填 | 参数类型 | 描述说明 |
---|---|---|---|---|
executeIds | 16f7f568-767f-4786-bb2c-5dbc64cfbcad | 是 | Array | 【必填】运行实例ID |
响应示例:
1)成功
{
"status": 200,
"data": "success"
}
参数名 | 参数值 | 参数类型 |
---|---|---|
status | 200 | Integer |
data | success | String |
2)失败
{
"status": 200,
"errorCode": "E8130042",
"errorMsg": "executeIds can not be null!"
}
参数名 | 参数值 | 参数类型 |
---|---|---|
status | 200 | Integer |
errorCode | E8130042 | String |
errorMsg | executeIds can not be null! | String |