Linkis在前后端进行交互的时候,定义了一套自己的接口规范。

如果您对接口规范感兴趣,请点击这里

2.HTTP接口汇总

我们提供以下几个接口,方便用户快速提交执行Job,获取执行结果。

1).提交执行

  • 提交方式 POST

  • 请求体data中的参数描述如下
  1. 1 请求体参数描述
  • 返回示例
  • execID是用户任务提交到UJES之后,为该任务生成的唯一标识的执行ID,为String类型,这个ID只在任务运行时有用,类似PID的概念。ExecID的设计为(requestApplicationName长度)(executeAppName长度1)(Instance长度2)${requestApplicationName}${executeApplicationName}${entranceInstance信息ip+port}${requestApplicationName}${umUser}${index}
  • taskID 是表示用户提交task的唯一ID,这个ID由数据库自增生成,为Long 类型
  • 接口 /api/rest_j/entrance/${execID}/status

  • 提交方式 GET

  • 返回示例

  1. "method": "/api/rest_j/v1/entrance/{execID}/status",
  2. "status": 0,
  3. "message": "获取状态成功",
  4. "data": {
  5. "execID": "${execID}",
  6. "status": "Running"
  7. }
  8. }

3).获取日志

  • 接口 /api/rest_j/entrance/${execID}/log?fromLine=${fromLine}&size=${size}

  • 提交方式

  • 请求参数fromLine是指从第几行开始获取,size是指该次请求获取几行日志

  • 返回示例,其中返回的fromLine需要下次日志请求的参数

  • 提交方式 GET

  • 返回示例

  1. {
  2. "method": "/api/rest_j/v1/entrance/{execID}/progress",
  3. "status": 0,
  4. "message": "返回进度信息",
  5. "data": {
  6. "execID": "${execID}",
  7. "progress": 0.2,
  8. "progressInfo": [
  9. "id": "job-1",
  10. "succeedTasks": 2,
  11. "failedTasks": 0,
  12. "totalTasks": 10
  13. },
  14. {
  15. "id": "job-2",
  16. "succeedTasks": 5,
  17. "failedTasks": 0,
  18. "runningTasks": 5,
  19. "totalTasks": 10
  20. }
  21. ]
  22. }
  23. }

5).kill任务

  • 接口 /api/rest_j/entrance/${execID}/kill

  • 提交方式 POST

  • 返回示例,其中返回的fromLine需要下次日志请求的参数

  • gateway代理设置

    在gateway安装目录conf中修改proxy.properties文件,添加内容: token=user1,user2

    说明:token为给到系统用户的秘钥,右边为系统用户可以代理的其它用户,如token=*,则不限制用户。

  • 在请求的Headers参数中添加两个参数设置

    1. Validation-Code = gateway配置的系统token