更新时间:2022-12-07 GMT+08:00

查询所有作业

功能介绍

该API用于查询当前project下的所有作业的信息。

URI

  • URI格式:

    GET /v1.0/{project_id}/jobs

  • 参数说明
    表1 URI 参数

    参数名称

    是否必选

    参数类型

    说明

    project_id

    String

    项目编号,用于资源隔离。获取方式请参考获取项目ID

    表2 query参数

    参数名称

    是否必选

    参数类型

    说明

    page-size

    Integer

    每页显示的最大作业个数,范围: [1, 100]。默认值:50。

    current-page

    Integer

    当前页码,默认为第一页。

    start

    Long

    用于查询开始时间在该时间点之后的作业。时间格式为unix时间戳,单位:毫秒。

    end

    Long

    用于查询开始时间在该时间点之前的作业。时间格式为unix时间戳,单位:毫秒。

    job-type

    String

    指定查询的作业类型,包含DDL、DCL、IMPORT、EXPORT、QUERY、INSERT、DATA_MIGRATION、UPDATE、DELETE、RESTART_QUEUE、SCALE_QUEUE,若要查询所有类型的作业,则传入ALL。

    job-status

    String

    指定查询的作业状态。

    job-id

    String

    指定查询的作业ID。可通过提交SQL作业(推荐)获取。

    queue_name

    String

    指定queue_name作为作业过滤条件,查询在指定queue上运行的作业。

    sql_pattern

    String

    指定sql片段作为作业过滤条件,不区分大小写。

    order

    String

    指定作业排序方式,默认为start_time_desc(作业提交时间降序),支持duration_desc(作业运行时长降序)、duration_asc(作业运行时长升序)、start_time_desc(作业提交时间降序)、start_time_asc(作业提交时间升序)四种排序方式。

    engine-type

    String

    引擎类型。

    owner

    String

    提交作业的用户。

    tags

    String

    指定作业标签作为过滤条件,支持多标签过滤,格式为“key=value”。

    • 单标签场景:

    例如,GET /v1.0/{project_id}/jobs?tags=k1%3Dv1

    其中,“=”需要转义为“%3D”,“k1”为标签键,“v1”为标签值。

    • 多标签场景:

    如果涉及到多个标签的场景,则多个标签之间需要通过“,”号分隔,“,”号需要转义为“%2C”,例如:GET /v1.0/{project_id}/jobs?tags=k1%3Dv1%2Ck2%3Dv2

    其中,“=”需要转义为“%3D”,“k1”为标签键1,“v1”为标签值1,“k2”为标签键2,“v2”为标签值2。

    注意:当前只支持所有tags值整体的模糊查询,不支持精确查询。

    带入query参数的URL示例如下:

    GET /v1.0/{project_id}/jobs?page-size={size}&current-page={page_number}&start={start_time}&end={end_time}&job-type={QUERY}&queue_name={test}&order={duration_desc}

请求消息

无请求参数。

响应消息

表3 响应参数

参数名称

是否必选

参数类型

说明

is_success

Boolean

执行请求是否成功。“true”表示请求执行成功。

message

String

系统提示信息,执行成功时,信息可能为空。

job_count

Integer

作业总个数。

jobs

Array of Objects

作业信息。具体参数请参见表4

表4 jobs参数

参数名称

是否必选

参数类型

说明

job_id

String

作业ID。

job_type

String

作业类型。

queue_name

String

作业提交的队列。

owner

String

提交作业的用户。

start_time

Long

作业开始的时间。是单位为“毫秒”的时间戳。

duration

Long

作业运行时长,单位毫秒。

status

String

此作业的当前状态,包含提交(LAUNCHING)、运行中(RUNNING)、完成(FINISHED)、失败(FAILED)、取消(CANCELLED)。

input_row_count

Long

Insert作业执行过程中扫描的记录条数。

bad_row_count

Long

Insert作业执行过程中扫描到的错误记录数。

input_size

Long

作业执行过程中扫描文件的大小。

result_count

Integer

当前作业返回的结果总条数或insert作业插入的总条数。

database_name

String

记录其操作的表所在的数据库名称。类型为Import和Export作业才有“database_name”属性。

table_name

String

记录其操作的表名称。类型为Import和Export作业才有“table_name”属性。

with_column_header

Boolean

Import类型的作业,记录其导入的数据是否包括列名。

detail

String

SQL查询的相关列信息的Json字符串。

statement

String

作业执行的SQL语句。

message

String

系统提示信息。

end_time

Long

作业结束的时间。是单位为“毫秒”的时间戳。

tags

Array of Objects

作业标签。具体请参考表5

表5 tags参数

参数名称

是否必选

参数类型

说明

key

String

标签的键。

value

String

标签的值。

请求示例

响应示例

{
 "is_success": true,
  "message": "",
  "job_count": 1,
  "jobs": [
    {

      "detail": "{\"type\":\"struct\",\"fields\":[{\"name\":\"name\",\"type\":\"string\",\"nullable\":true,\"metadata\":{}},{\"name\":\"age\",\"type\":\"integer\",\"nullable\":true,\"metadata\":{}}]}",
      "duration": 17731,

      "end_time": 1502349821460,
      "input_size": 0,
      "job_id": "37286cc7-0508-4ffd-b636-951c8a5c75de",
      "job_type": "QUERY",
      "message": "",
      "owner": "tenant1",
      "queue_name": "queue1",
      "result_count": 3,
      "start_time": 1502349803729,
      "statement": "select * from t_json_002",
      "status": "FINISHED",
      "with_column_header": false
    }
  ]
}

状态码

状态码如表6所示。

表6 状态码

状态码

描述

200

查询成功。

400

请求错误。

500

内部服务器错误。

错误码

调用接口出错后,将不会返回上述结果,而是返回错误码和错误信息,更多介绍请参见错误码