Restful Api

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

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

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

    • 提交执行
    • 获取状态
    • 获取日志
    • 获取进度
    • Kill任务
    • 接口

    • 提交方式 POST

    • 请求体data中的参数描述如下
    • 返回示例
    1. {
    2. "method": "/api/rest_j/v1/entrance/execute",
    3. "message": "请求执行成功",
    4. "data": {
    5. "execID": "030418IDEhivebdpdwc010004:10087IDE_johnnwang_21",
    6. "taskID": "123"
    7. }
    8. }
    • 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 类型

    3.2 获取状态

    • 接口 /api/rest_j/v1/entrance/${execID}/status

    • 提交方式

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

    • 提交方式 GET

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

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

    1. {
    2. "method": "/api/rest_j/v1/entrance/${execID}/log",
    3. "status": 0,
    4. "message": "返回日志信息",
    5. "data": {
    6. "log": ["error日志","warn日志","info日志", "all日志"],
    7. "fromLine": 56
    8. }

    3.4 获取进度

    • 接口 /api/rest_j/v1/entrance/${execID}/progress

    • 提交方式 GET

    • 返回示例

    • 提交方式 GET

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

    1. {
    2. "method": "/api/rest_j/v1/entrance/{execID}/kill",
    3. "status": 0,
    4. "message": "OK",
    5. "data": {
    6. "execID":"${execID}"
    7. }

    3.6 系统用户代理设置

    • gateway代理设置

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

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

    • http请求代理设置

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