# 查询Flink作业列表 - ListFlinkJobs
#### 功能介绍
查询工作空间下Flink作业列表。此接口为同步接口，响应中包含作业的概要信息，支持分页查询和多条件筛选。
可通过[查看Flink作业详情](https://support.huaweicloud.com/api-aidatalake/ShowFlinkJob.html)接口获取指定作业的完整信息。
#### 调用方法
请参见[如何调用API](https://support.huaweicloud.com/api-aidatalake/aidatalake_02_0003.html)。
#### URI
GET /v2/workspaces/{workspace_id}/flink-jobs
表1路径参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                         |
|:---|:---|:---|:---|
| workspace_id | 是    | String | **参数解释** ：工作空间ID，用于资源隔离。获取方法请参见[获取工作空间ID](https://support.huaweicloud.com/api-aidatalake/aidatalake_02_0044.html)。 **约束限制**：不涉及。 **取值范围**：只能由英文字母、数字及中划线组成，且长度为32\~36个字符。 **默认取值**：不涉及。 |
   
表2Query参数 
| 参数                 | 是否必选 | 参数类型             | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
|:---|:---|:---|:---|
| marker             | 否    | String           | **参数解释**：分页游标，用于指定本次查询的起始位置。 **约束限制**：首次查询不传或传空字符串；继续向更早的数据翻页时（page_reverse为false），传入上一次响应中的next_marker；向更新的数据翻页时（page_reverse为true），传入上一次响应中的previous_marker，此时该参数必填。 **取值范围**：采用UUID格式，长度为36个字符，只能由英文大写字母、英文小写字母、数字及下划线和横线组成。 **默认取值**：不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| limit              | 否    | Integer          | **参数解释**：查询返回的记录数，用于分页查询。 **约束限制**：不涉及。 **取值范围**：1\~1000之间的整数。 **默认取值**：100。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| page_reverse       | 否    | Boolean          | **参数解释**：分页查询方向，用于控制翻页方向。 **约束限制**：与marker参数配合使用。当page_reverse=true时，必须传入marker参数，否则返回400错误。 **取值范围**： - true：向前翻页（查询marker之前的数据）。   - false：向后翻页（查询marker之后的数据）。    **默认取值**：false。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| create_time_after  | 否    | Long             | **参数解释**：筛选起始时间（包含），用于按创建时间筛选。 **约束限制**：不涉及。 **取值范围**：0\~4102416000000，13位毫秒时间戳。 **默认取值**：不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| create_time_before | 否    | Long             | **参数解释**：筛选结束时间（包含），用于按创建时间筛选。 **约束限制**：不涉及。 **取值范围**：0\~4102416000000，13位毫秒时间戳。 **默认取值**：不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| endpoint_id        | 否    | String           | **参数解释**：作业运行的端点ID，用于按端点筛选作业。 **约束限制**：不涉及。 **取值范围**：采用UUID格式，固定36个字符。 **默认取值**：不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| endpoint_name      | 否    | String           | **参数解释** ：作业运行的端点名称，用于按端点筛选作业。可通过[查询端点列表](https://support.huaweicloud.com/api-aidatalake/ListV2Endpoints.html)或[查询所有端点列表](https://support.huaweicloud.com/api-aidatalake/ListV2AllEndpoints.html)接口获取。 **约束限制**：不涉及。 **取值范围**：只能由英文小写字母、数字及中划线组成，以英文小写字母开头，以英文小写字母或数字结尾，且长度为1\~63个字符。 **默认取值**：不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| name               | 否    | String           | **参数解释**：作业名称，用于按作业名称模糊筛选。 **约束限制**：不涉及。 **取值范围**：长度为1\~128个字符，以字母或数字开头和结尾，中间可包含字母、数字、下划线和中划线。 **默认取值**：不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| job_id             | 否    | String           | **参数解释** ：Flink作业ID，用于按作业ID筛选，可通过[创建Flink作业](https://support.huaweicloud.com/api-aidatalake/RunFlinkJob.html)接口返回值获取。 **约束限制**：不涉及。 **取值范围**：采用UUIDv7格式，固定36个字符。 **默认取值**：不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| deployment_id      | 否    | String           | **参数解释**：已部署作业ID，用于按部署ID筛选作业。 **约束限制**：不涉及。 **取值范围**：长度为1\~64个字符，只能由英文字母、数字、下划线和中划线组成。 **默认取值**：不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| state              | 否    | Array of strings | **参数解释**：Flink作业状态，用于按状态筛选作业列表。数组元素为FlinkJobState枚举，取值如下： - CREATED：已创建。   - STARTING：启动中。   - RUNNING：运行中。   - CANCELLING：停止中。   - FAILED：已失败。   - CANCELLED：已停止。   - FINISHED：已完成。    **约束限制**：不涉及。 |
| job_type           | 否    | String           | **参数解释**：作业类型，用于按作业类型筛选列表。 **约束限制**：不涉及。 **取值范围**： - FLINK_SQL_JOB：SQL作业。   - FLINK_JAR_JOB：JAR作业。    **默认取值**：不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| execution_mode     | 否    | String           | **参数解释**：执行模式，用于按执行模式筛选作业列表。 **约束限制**：不涉及。 **取值范围**： - STREAMING：流模式。   - BATCH：批模式。    **默认取值**：不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| create_user_id     | 否    | String           | **参数解释** ：创建者用户ID（即IAM用户ID），用于按创建者筛选作业，获取方法请参见[获取账号ID](https://support.huaweicloud.com/api-aidatalake/aidatalake_02_0030.html)。 **约束限制**：不涉及。 **取值范围**：长度为1\~256个字符，只能由英文字母和数字组成。 **默认取值**：不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| labels             | 否    | Array of strings | **参数解释**：标签过滤条件，用于按标签筛选作业。格式为key=value，支持多个标签。 **约束限制**：最多10个标签。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
   
#### 请求参数
表3请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                   |
|:---|:---|:---|:---|
| X-Auth-Token | 是    | String | **参数解释** ：用户Token，用于接口认证鉴权，可通过调用[获取IAM用户Token](https://support.huaweicloud.com/api-iam/iam_30_0001.html)接口获取。 **约束限制**：不涉及。 **取值范围**：长度不超过65534个字符。 **默认取值**：不涉及。 |
   
#### 响应参数
**状态码：200**
表4响应Body参数 
| 参数        | 参数类型                                                                         | 描述                                                 |
|:---|:---|:---|
| page_info | [MarkerPageInfo] object             | **参数解释**：分页游标信息。                                   |
| jobs      | Array of [FlinkJobSummary] objects | **参数解释**：详细的Flink作业列表，包含0\~1000个FlinkJobSummary对象。 |
   
 表5MarkerPageInfo 
| 参数              | 参数类型    | 描述                                                                                                                                                                              |
|:---|:---|:---|
| next_marker     | String  | **参数解释**：向更早方向翻页的游标，用于获取比当前页创建时间更早的数据。为空表示没有更早的数据。 **取值范围**：采用UUID格式，长度为36个字符，例如：6c98db52-cac2-xxxx-xxxx-b7793e95557d。                         |
| previous_marker | String  | **参数解释**：向更新方向翻页的游标，配合page_reverse为true使用，用于获取比当前页创建时间更新的数据。为空表示当前页已是最新一页。 **取值范围**：采用UUID格式，长度为36个字符，例如：6c98db52-cac2-xxxx-xxxx-b7793e95557d。 |
| current_count   | Integer | **参数解释**：当前页数据条数，用于标识当前返回的数据数量。 **取值范围**：大于等于0的整数，最大不超过1000。                                                                                   |
   
 表6FlinkJobSummary 
| 参数             | 参数类型                                                                       | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
|:---|:---|:---|
| job_id         | String                                                                     | **参数解释**：Flink作业ID。 **取值范围**：UUIDv7格式，固定36位，由英文小写字母、数字及中划线组成。                                                                                                                                                                                                                                                                                                                                                             |
| name           | String                                                                     | **参数解释**：作业名称。 **取值范围**：1\~128个字符，以字母或数字开头和结尾，中间可包含字母、数字、下划线和中划线。                                                                                                                                                                                                                                                                                                                                                         |
| endpoint_id    | String                                                                     | **参数解释**：作业运行的端点ID。 **取值范围**：采用UUID格式，固定36个字符。                                                                                                                                                                                                                                                                                                                                                                            |
| endpoint_name  | String                                                                     | **参数解释**：作业运行的端点名称。 **取值范围**：只能由英文小写字母、数字及中划线组成，以英文小写字母开头，以英文小写字母或数字结尾，且长度为1\~63个字符。                                                                                                                                                                                                                                                                                                                                      |
| job_type       | String                                                                     | **参数解释**：作业类型。 **取值范围**： - FLINK_JAR_JOB：JAR作业。   - FLINK_SQL_JOB：SQL作业。     |
| status         | [FlinkJobStatus] object           | **参数解释**：作业状态信息，包含状态值和状态消息。                                                                                                                                                                                                                                                                                                                                                                                                                                |
| execution_mode | String                                                                     | **参数解释**：执行模式，用于指定Flink作业的执行模式。 **取值范围**： - STREAMING：流模式。   - BATCH：批模式。    |
| metric         | [FlinkResourceMetric] object | **参数解释**：作业指标信息，包含CPU、内存、磁盘使用量。                                                                                                                                                                                                                                                                                                                                                                                                                            |
| create_time    | Long                                                                       | **参数解释**：创建时间戳。 **取值范围**：0\~4102416000000，13位毫秒时间戳。                                                                                                                                                                                                                                                                                                                                                                       |
| create_user    | [FlinkCreateUser] object         | **参数解释**：创建者信息。                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| update_time    | Long                                                                       | **参数解释**：更新时间戳。 **取值范围**：0\~4102416000000，13位毫秒时间戳。                                                                                                                                                                                                                                                                                                                                                                       |
| update_user    | [FlinkUpdateUser] object         | **参数解释**：更新者信息。                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| log_url        | String                                                                     | **参数解释**：日志归档路径OBS URL，用于查看作业执行日志。 **取值范围**：OBS URL格式，长度为1\~1024个字符。                                                                                                                                                                                                                                                                                                                                                      |
| description    | String                                                                     | **参数解释**：作业描述信息。 **取值范围**：1\~512个字符。                                                                                                                                                                                                                                                                                                                                                                                      |
| start_time     | Long                                                                       | **参数解释**：作业开始运行的时间戳（进入RUNNING状态的时间）。 **取值范围**：0 \~ 4102416000000，13位毫秒时间戳。                                                                                                                                                                                                                                                                                                                                                |
| end_time       | Long                                                                       | **参数解释**：作业结束时间戳（进入终态 FINISHED/CANCELLED/FAILED的时间）。 **取值范围**：0 \~ 4102416000000，13位毫秒时间戳。                                                                                                                                                                                                                                                                                                                                |
   
 表7FlinkJobStatus 
| 参数            | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
|:---|:---|:---|
| state         | String | **参数解释**：作业当前状态。 **取值范围**： - CREATED：已创建。   - STARTING：启动中。   - RUNNING：运行中。   - CANCELLING：停止中。   - FAILED：已失败。   - CANCELLED：已停止。   - FINISHED：已完成。    |
| state_message | String | **参数解释**：状态消息详情，包含状态变更的补充说明或错误信息。 **取值范围**：0\~1024个字符。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
   
 表8FlinkResourceMetric 
| 参数           | 参数类型 | 描述                                                                                     |
|:---|:---|:---|
| total_memory | Long | **参数解释**：总内存，单位MB。 **取值范围**：0\~9223372036854775807。   |
| total_cpu    | Long | **参数解释**：总CPU，单位毫核。 **取值范围**：0\~9223372036854775807。  |
| total_disk   | Long | **参数解释**：总磁盘容量，单位GB。 **取值范围**：0\~9223372036854775807。 |
   
 表9FlinkCreateUser 
| 参数        | 参数类型   | 描述                                                                                                |
|:---|:---|:---|
| user_id   | String | **参数解释**：创建者用户ID，用于标识作业的创建者。 **取值范围**：长度为1\~128个字符，只能由英文字母和数字组成。 |
| user_name | String | **参数解释**：创建者用户名称，用于显示作业的创建者名称。 **取值范围**：长度为0\~128个字符。            |
   
 表10FlinkUpdateUser 
| 参数        | 参数类型   | 描述                                                                                                |
|:---|:---|:---|
| user_id   | String | **参数解释**：更新者用户ID，用于标识作业的更新者。 **取值范围**：长度为1\~128个字符，只能由英文字母和数字组成。 |
| user_name | String | **参数解释**：更新者用户名称，用于显示作业的更新者名称。 **取值范围**：长度为0\~128个字符。            |
   
**状态码：400**
表11响应Body参数 
| 参数           | 参数类型   | 描述                                                                                  |
|:---|:---|:---|
| error_code   | String | **参数解释**：错误码，用于标识具体的错误类型。 **取值范围**：长度为1\~256个字符。   |
| error_msg    | String | **参数解释**：错误描述信息，用于说明错误原因。 **取值范围**：长度为1\~1024个字符。  |
| solution_msg | String | **参数解释**：解决建议，用于提供错误的解决方案。 **取值范围**：长度为0\~1024个字符。 |
   
**状态码：401**
表12响应Body参数 
| 参数           | 参数类型   | 描述                                                                                  |
|:---|:---|:---|
| error_code   | String | **参数解释**：错误码，用于标识具体的错误类型。 **取值范围**：长度为1\~256个字符。   |
| error_msg    | String | **参数解释**：错误描述信息，用于说明错误原因。 **取值范围**：长度为1\~1024个字符。  |
| solution_msg | String | **参数解释**：解决建议，用于提供错误的解决方案。 **取值范围**：长度为0\~1024个字符。 |
   
**状态码：403**
表13响应Body参数 
| 参数           | 参数类型   | 描述                                                                                  |
|:---|:---|:---|
| error_code   | String | **参数解释**：错误码，用于标识具体的错误类型。 **取值范围**：长度为1\~256个字符。   |
| error_msg    | String | **参数解释**：错误描述信息，用于说明错误原因。 **取值范围**：长度为1\~1024个字符。  |
| solution_msg | String | **参数解释**：解决建议，用于提供错误的解决方案。 **取值范围**：长度为0\~1024个字符。 |
   
**状态码：500**
表14响应Body参数 
| 参数           | 参数类型   | 描述                                                                                  |
|:---|:---|:---|
| error_code   | String | **参数解释**：错误码，用于标识具体的错误类型。 **取值范围**：长度为1\~256个字符。   |
| error_msg    | String | **参数解释**：错误描述信息，用于说明错误原因。 **取值范围**：长度为1\~1024个字符。  |
| solution_msg | String | **参数解释**：解决建议，用于提供错误的解决方案。 **取值范围**：长度为0\~1024个字符。 |
   
#### 请求示例
- 查询工作空间下运行中的Flink作业列表，每页最多返回10条记录。
  ```
  GET /v2/workspaces/{workspace_id}/flink-jobs?limit=10&state=RUNNING
  ```
  
- 查询工作空间下流模式的SQL作业列表，每页最多返回20条记录。
  ```
  GET /v2/workspaces/{workspace_id}/flink-jobs?limit=20&job_type=FLINK_SQL_JOB&execution_mode=STREAMING
  ```
  
 
#### 响应示例
**状态码：200**
- 查询工作空间下运行中的Flink作业列表，每页最多返回10条记录。
  ```
  {
    "page_info" : {
      "current_count" : 1
    },
    "jobs" : [ {
      "job_id" : "019f609a-e90c-xxxx-xxxx-a4ec9018e7f2",
      "name" : "test-flink-job",
      "endpoint_id" : "4702a179-xxxx-xxxx-81c3-6cd4d8090671",
      "endpoint_name" : "test-endpoint",
      "job_type" : "FLINK_JAR_JOB",
      "status" : {
        "state" : "RUNNING"
      },
      "execution_mode" : "STREAMING",
      "metric" : {
        "total_cpu" : 2000,
        "total_memory" : 8192,
        "total_disk" : 60
      },
      "create_time" : 1705896000000,
      "create_user" : {
        "user_id" : "1001",
        "user_name" : "testuser"
      },
      "update_time" : 1705896000000,
      "update_user" : {
        "user_id" : "1001",
        "user_name" : "testuser"
      },
      "log_url" : "obs://my-flink-bucket/aidatalake/workspace_57fd5733-xxxx-xxxx-85a9-c6e7f39b1891/flink/endpoint_4702a179-xxxx-xxxx-81c3-6cd4d8090671/jobs/logs/019f609a-e90c-xxxx-xxxx-a4ec9018e7f2",
      "description" : "测试Flink作业",
      "start_time" : 1705897000000,
      "end_time" : 0
    } ]
  }
  ```
  
- 查询工作空间下流模式的SQL作业列表，每页最多返回20条记录。
  ```
  {
    "page_info" : {
      "current_count" : 1
    },
    "jobs" : [ {
      "job_id" : "019f609b-f80d-xxxx-xxxx-b5ec9018e7f3",
      "name" : "test-sql-streaming-job",
      "endpoint_id" : "4702a179-xxxx-xxxx-81c3-6cd4d8090671",
      "endpoint_name" : "test-endpoint",
      "job_type" : "FLINK_SQL_JOB",
      "status" : {
        "state" : "FAILED",
        "state_message" : "START TIMEOUT"
      },
      "execution_mode" : "STREAMING",
      "metric" : {
        "total_cpu" : 2000,
        "total_memory" : 8192,
        "total_disk" : 60
      },
      "create_time" : 1705896000000,
      "create_user" : {
        "user_id" : "1001",
        "user_name" : "testuser"
      },
      "update_time" : 1705896000000,
      "update_user" : {
        "user_id" : "1001",
        "user_name" : "testuser"
      },
      "log_url" : "obs://my-flink-bucket/aidatalake/workspace_57fd5733-xxxx-xxxx-85a9-c6e7f39b1891/flink/endpoint_4702a179-xxxx-xxxx-81c3-6cd4d8090671/jobs/logs/019f609b-f80d-xxxx-xxxx-b5ec9018e7f3",
      "description" : "测试SQL流模式作业",
      "start_time" : 0,
      "end_time" : 1705898180816
    } ]
  }
  ```
  
**状态码：400**
```
{
  "error_code" : "AIDataLake.01011001",
  "error_msg" : "Invalid parameter",
  "solution_msg" : "Please check the input parameters according to the documentation."
}
```
**状态码：401**
```
{
  "error_code" : "AIDataLake.01011003",
  "error_msg" : "Auth Token not exists in header",
  "solution_msg" : "Please check if auth Token is included in the request header."
}
```
**状态码：403**
```
{
  "error_code" : "AIDataLake.01011005",
  "error_msg" : "Current account has no permission",
  "solution_msg" : "Please connect administrators to add permission."
}
```
**状态码：500**
```
{
  "error_code" : "AIDataLake.01010001",
  "error_msg" : "Internal system error",
  "solution_msg" : "Contact operations for analysis."
}
```
#### 状态码
| 状态码 | 描述      |
|:---|:---|
| 200 | 请求成功。   |
| 400 | 请求参数错误。 |
| 401 | 认证失败。   |
| 403 | 权限不足。   |
| 500 | 系统内部错误。 |
   
