
# 获取作业列表-ListTasks
#### 功能介绍
获取作业列表
#### 调试
您可以在[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/vias/doc?api=getTaskList)中调试该接口，支持自动认证鉴权。API Explorer可以自动生成SDK代码示例，并提供SDK代码示例调试功能。
#### URI
GET /v2/{project_id}/tasks
表1路径参数 
| 参数         | 是否必选 | 参数类型   | 描述                                                                                   |
|:---|:---|:---|:---|
| project_id | 是    | String | 用户项目ID，获取方法参见[获取项目ID和名称](https://support.huaweicloud.com/api-vias/vias_03_0283.html) |
   
表2Query参数 
| 参数               | 是否必选 | 参数类型    | 描述                                                                                                                                                                                                 |
|:---|:---|:---|:---|
| source_data_type | 否    | String  | 任务类型，用作查询过滤。仅支持async_task与sync_task两种类型。                                                                                                                                                           |
| title            | 否    | String  | 算法中文名，需要满足正则表达式\^\[a-zA-Z0-9\\u4e00-\\u9fa5-_,\]{2,64}$                                                                                                                                            |
| camera_name      | 否    | String  | 摄像头名称 最大长度：**255**                                                                                                                                                    |
| task_state       | 否    | String  | 作业状态,状态可选PENDING\|RECOVERING\|STARTING\|UPGRADING\|CREATE_FAILED\|START_FAILED\|RUNNING\|STOPPING\|STOPPED\|ABNORMAL\|SUCCEEDED\|FAILED\|DELETING\|FREEZING\|FROZEN\|SCHEDULING\|LACK_OF_RESOURCES |
| task_name        | 否    | String  | 作业名称 最大长度：**1024**                                                                                                                                                     |
| page_size        | 否    | Integer | 每页显示的条目数量 最小值：**5** 最大值：**1000** 缺省值：**10**                                                                   |
| page             | 否    | Integer | 偏移量 缺省值：**1**                                                                                                                                                         |
| sort_dir         | 否    | String  | 展示服务作业时的排序规则 缺省值：**desc**                                                                                                                                            |
| batch_id         | 否    | String  | 批量配置ID，需要满足正则表达式\^\[a-z0-9-_\]{4,36}$                                                                                                                                                              |
| video_group_id   | 否    | String  | 视频分组ID（多个ID英文逗号分隔拼接）,长度要求\[4,2048\]                                                                                                                                                                |
| company          | 否    | String  | 厂商（多选时逗号分隔拼接）                                                                                                                                                                                      |
| alg_id           | 否    | String  | 算法ID，需要满足正则表达式\^\[0-9a-f\]{8}-\[0-9a-f\]{4}-\[4\]\[0-9a-f\]{3}-\[89ab\]\[0-9a-f\]{3}-\[0-9a-f\]{12}$                                                                                               |
   
#### 请求参数
表3请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                |
|:---|:---|:---|:---|
| X-Auth-Token | 是    | String | 用户Token，获取方法参见[认证鉴权](https://support.huaweicloud.com/api-vias/vias_03_0009.html)。 |
   
#### 响应参数
**状态码： 200**
表4响应Body参数 
| 参数        | 参数类型                                                               | 描述           |
|:---|:---|:---|
| count     | Integer                                                            | 当前页面的条目数。    |
| tasks     | Array of [TaskInfoDto] objects | 查询到的作业列表信息。  |
| page      | Integer                                                            | Integer当前页号。 |
| page_size | Integer                                                            | 分页尺寸。        |
   
 表5TaskInfoDto 
| 参数                   | 参数类型                                                                       | 描述                                                                                                                                                                                                                                     |
|:---|:---|:---|
| id                   | String                                                                     | 作业ID。                                                                                                                                                                                                                                  |
| name                 | String                                                                     | 作业的名称。                                                                                                                                                                                                                                 |
| creator              | String                                                                     | 作业创建者的用户名。                                                                                                                                                                                                                             |
| project_id           | String                                                                     | 作业创建者的项目ID。                                                                                                                                                                                                                            |
| description          | String                                                                     | 作业的描述。 最小长度：**0** 最大长度：**500**                                                                                                                                             |
| release_id           | String                                                                     | 作业对应服务的ID。                                                                                                                                                                                                                             |
| service_id           | String                                                                     | 作业对应服务的ID。                                                                                                                                                                                                                             |
| created_at           | String                                                                     | 作业创建的时间。                                                                                                                                                                                                                               |
| updated_at           | String                                                                     | 作业最近一次状态更新的时间。                                                                                                                                                                                                                         |
| state                | String                                                                     | 作业当前的状态，分别为PENDING（等待中），RECOVERING（恢复中），STARTING（启动中），UPGRADING（升级中），CREATE_FAILED（创建失败），START_FAILED（启动失败），RUNNING（运行中），STOPPING（停止中），STOPPED（已停止），ABNORMAL（异常），SUCCEEDED（运行成功），FAILED（运行失败），DELETING（删除中），FREEZING（冻结中），FROZEN（已冻结）。 |
| status               | String                                                                     | 作业状态的详情信息，仅部分状态会有详情信息。 最小长度：**0** 最大长度：**4096**                                                                                                                               |
| error                | [error] object                               | 错误信息。                                                                                                                                                                                                                                  |
| schedule_status      | String                                                                     | 计划任务的状态，分别为ACTIVATED（激活），INACTIVATED（未激活）。                                                                                                                                                                                             |
| schedule             | [TaskSchedule] object                 | 定时任务参数，定时周期仅支持周模式。                                                                                                                                                                                                                     |
| input                | [TaskInput] object                       | 作业的输入配置。                                                                                                                                                                                                                               |
| output               | [TaskOutputForDisplay] object | 作业的输出配置展示                                                                                                                                                                                                                              |
| config               | [TaskServiceConfig] object       | 作业运行时指定的自定义参数，由服务发布者定义。                                                                                                                                                                                                                |
| video_source_name    | String                                                                     | 视频源名称。                                                                                                                                                                                                                                 |
| title                | String                                                                     | 算法中文名称。                                                                                                                                                                                                                                |
| group_name           | String                                                                     | 分组名称，多个以逗号分隔。                                                                                                                                                                                                                          |
| company              | String                                                                     | 厂商。                                                                                                                                                                                                                                    |
| task_config          | String                                                                     | 作业算法配置。                                                                                                                                                                                                                                |
| type                 | String                                                                     | cloud或edge。                                                                                                                                                                                                                            |
| resource_order_id    | String                                                                     | 资源订单id。                                                                                                                                                                                                                                |
| package_id           | String                                                                     | 算法包id。                                                                                                                                                                                                                                 |
| device_id            | String                                                                     | 设备id。                                                                                                                                                                                                                                  |
| access_address       | String                                                                     | 接入地址。                                                                                                                                                                                                                                  |
| algorithm_publish_id | String                                                                     | 算法id。                                                                                                                                                                                                                                  |
   
 表6error 
| 参数      | 参数类型   | 描述                                                                                       |
|:---|:---|:---|
| code    | String | 错误码。 最小长度：**8** 最大长度：**36**      |
| message | String | 错误描述。 最小长度：**2** 最大长度：**512** |
   
 表7TaskSchedule 
| 参数            | 参数类型               | 描述                                                                                                                                                                                 |
|:---|:---|:---|
| type          | String             | 计划任务的类型，使用计划任务时必填。可选类型分别为weekly（每周执行），monthly（每月执行）。                                                                                                                               |
| timezone      | String             | 用户所处的时区，使用计划任务时必填。精确到分钟。                                                                                                                                                           |
| days_of_week  | Array of integers  | 作业会在一周的哪几天执行，当且仅当计划任务类型为weekly时，该字段需填且必填。1\~7分别指代星期一至星期日。 最小值：**1** 最大值：**7** 数组长度：**1 - 7** |
| days_of_month | Array of integers  | 作业会在一个月的哪几天执行，当且仅当计划任务类型为monthly时，该字段需填且必填。1\~31分别指代一个月中的1日至31日。 最小值：**1** 最大值：**31**                                  |
| periods       | Array\<Array\<\>\> | 时间段模式配置，指定周计划或者月计划中具体每天作业的执行时间段，至少需指定一个时间段。                                                                                                                                        |
   
 表8TaskInput 
| 参数   | 参数类型                                                                   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
|:---|:---|:---|
| type | String                                                                 | 作业的输入类型，创建时必填，编辑时video_source模式不支持切换为其他IVA模式的type。创建时可选类型有obs（对象存储服务存储的文件 仅云上作业支持）， url（指定的文件地址或取流地址仅云上作业支持）， edgecamera（绑定在IEF的边缘摄像头 仅边缘作业支持）, restful（从自定义的流媒体服务器通过Restful接口获取流地址。云上，边缘均作业支持）， vcn（VCN设备仅边缘作业支持），video_source（视频源类型）， 建议使用video_source类型，其他类型为了兼容老业务，后续将废弃。 枚举值： - video_source   - obs(不建议使用，后续废弃)   - url(不建议使用，后续废弃)   - edgecamera(不建议使用，后续废弃)   - restful(不建议使用，后续废弃)   - vcn(不建议使用，后续废弃)                                                                                                                                                                                                                    |
| data | Array of [TaskInputData] objects | 作业的输入详情，必填。针对不同的输入类型有不同的配置。创建时允许填写多路输入，但更新时只允许填写一路输入。 - 当输入类型为：obs，需要配置 bucket，path ， index 。例如： "bucket": "aicam", "path": "3rdpartylicenses.txt", "index": 0   - 当输入类型为：url，需要配置 url， index 。例如： "url": "https://xxx-xxx.com", "index": 0   - 当输入类型为：restful，需要配置 certificate_check， rtsp_path_in_response， url， index， headers 。例如："certificate_check": true, "url": "https://hsaij-dasahbi.com", "rtsp_path_in_response": "data/url", "index": 0, "headers": { "AAA": "AAA" }   - 当输入类型为：vcn，需要配置 device_id， stream_type， index。例如："device_id": "21356478954612546874#gdhjkiushdgdksjhslmhscjsckjhdbnk", "stream_type": 1, "index": 0   - 当输入类型为：EdgeCamera，需要配置 id， index 例如："id": "007cdafc-6000-47ce-b0e3-870b4a0db65e","index": 0    数组长度：**1 - 50** |
| vcn  | [TaskInputVcn] object             | VCN服务器信息，仅输入类型为vcn时必填。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
   
 表9TaskInputData 
| 参数                    | 参数类型    | 描述                                                                                                                                        |
|:---|:---|:---|
| video_source_id       | String  | 视频源id，当输入类型为video_source时必填。                                                                                                              |
| stream_name           | String  | 视频流名称。                                                                                                                                    |
| bucket                | String  | OBS桶名，当输入为obs类型时必填。 最大长度：**63**                                                                             |
| path                  | String  | OBS的路径，当输入为obs类型时必填。 最大长度：**1023**                                                                            |
| url                   | String  | url输入源的地址或者获取视频流地址的restful请求地址，当输入为url类型或者edgerestful类型时必填。长度不超过1000。 最大长度：**1000**                           |
| headers               | Object  | 获取视频流地址的restful请求携带的请求头，当输入为edgerestful类型时可选。整体呈json格式，以键值对的形式表示请求头和取值，最多允许10组。                                                           |
| certificate_check     | Boolean | 是否需要对https请求进行证书校验，当输入为edgerestful类型时必填。取值为true或者false。                                                                                   |
| rtsp_path_in_response | String  | restful请求返回的body中，视频流地址的路径，当输入为edgerestful类型时必填。长度不超过1024。 最大长度：**1024**                                     |
| device_id             | String  | VCN设备ID，当输入为vcn类型时必填。                                                                                                                     |
| stream_type           | Integer | 准备进行分析的码流，当输入为vcn类型时选填。取值范围为1\~3，其中1代表主码流，2代表子码流1，3代表子码流2。 最小值：**1** 最大值：**3** |
| id                    | String  | IEF挂载的边缘设备的ID，当输入为edgecamera类型时必填。 最大长度：**63**                                                              |
   
 表10TaskInputVcn 
| 参数       | 参数类型    | 描述                                                                                                         |
|:---|:---|:---|
| ip       | String  | VCN服务器的IP地址，仅输入类型为vcn时必填。                                                                                  |
| port     | Integer | VCN服务器的端口号，仅输入类型为vcn时必填。 最小值：**0** 最大值：**65535** |
| username | String  | VCN服务器的账号名，仅输入类型为vcn时需填且必填，需要满足正则表达式\^.{1,100}$。                                                           |
| password | String  | VCN服务器的与账号对应的密码，仅输入类型为vcn时必填，需要满足正则表达式\^.{1,1000}$。                                                        |
   
 表11TaskOutputForDisplay 
| 参数           | 参数类型                                                                 | 描述                  |
|:---|:---|:---|
| obs          | [TaskOutputObs] object         | 输出为obs类型时的配置信息。     |
| dis          | [TaskOutputDis] object         | 输出为dis类型时的配置信息。     |
| webhook      | [TaskOutputWebhook] object | 输出为webhook类型时的配置信息。 |
| event_center | Boolean                                                              | 缺省值：**false**       |
   
 表12TaskOutputObs 
| 参数            | 参数类型             | 描述                                                                                                                                             |
|:---|:---|:---|
| bucket        | String           | OBS桶名，选用obs类型输出时必填，校验规则：(pattern:"\^\[a-z0-9\](?!.*\[-.\]\[-.\].*)(\[a-z0-9-.\]{1,61})\[a-z0-9\]$")。 最大长度：**63** |
| path          | String           | OBS的路径，选用obs类型输出时必填，校验规则：\^(?!\[/.\\s\])(?!.//.)(\[\^:\*?"\<\>\|\]{0,1023})(?\<!\[.\\s\])$。 最大长度：**1023**        |
| data_category | Array of strings | 作业输出数据类别的列表，选填，仅部分服务需要。当输出类型下有这个列表时，表示希望这个输出类型下存放dataCategory列表内的数据。 数组长度：**0 - 10**                              |
   
 表13TaskOutputDis 
| 参数            | 参数类型             | 描述                                                                                                                 |
|:---|:---|:---|
| stream_name   | String           | DIS流名称，选用dis类型输出时必填。 最大长度：**64**                                                     |
| data_category | Array of strings | 作业输出数据类别的列表，选填，仅部分服务需要。当输出类型下有这个列表时，表示希望这个输出类型下存放dataCategory列表内的数据。 数组长度：**0 - 10** |
   
 表14TaskOutputWebhook 
| 参数            | 参数类型             | 描述                                                                                                                |
|:---|:---|:---|
| url           | String           | 结果回调地址，选用webhook类型输出时必填。 最大长度：**1000**                                              |
| headers       | Object           | 结果回调时需要携带的请求头，选用webhook类型输出时必填。整体呈json格式，以键值对的形式表示请求头和取值，至少1组，至多10组。                                              |
| data_category | Array of strings | 作业输出数据类别的列表，选填，仅部分服务需要。当输出类型下有这个列表时，表示希望这个输出类型下存放dataCategory列表内的数据。 数组长度：**0 - 10** |
   
 表15TaskServiceConfig 
| 参数     | 参数类型   | 描述                                                     |
|:---|:---|:---|
| common | Object | 作业运行时指定的具体的自定义配置项，由服务发布者定义。整体呈json格式，具体配置项参见相应算法服务的说明。 |
   
**状态码： 400**
表16响应Body参数 
| 参数         | 参数类型             | 描述                                                  |
|:---|:---|:---|
| error_code | String           | 错误码。                                                |
| error_msg  | String           | 错误信息描述。                                             |
| detail     | String           | 错误详情。                                               |
| params     | Array of strings | 错误参数列举。 数组长度：**0 - 1** |
| reason     | String           | 错误原因。                                               |
| advice     | String           | 建议。                                                 |
   
**状态码： 500**
表17响应Body参数 
| 参数         | 参数类型             | 描述                                                  |
|:---|:---|:---|
| error_code | String           | 错误码。                                                |
| error_msg  | String           | 错误信息描述。                                             |
| detail     | String           | 错误详情。                                               |
| params     | Array of strings | 错误参数列举。 数组长度：**0 - 1** |
| reason     | String           | 错误原因。                                               |
| advice     | String           | 建议。                                                 |
   
#### 请求示例
获取作业列表，展示出状态为"运行中"，"运行成功"，"已停止"，"等待中"，"运行失败"或者"异常"的作业。
```
/v2/{project_id}/tasks
https://{endpoint}/v2/{project_id}/tasks?page=1&page_size=10
```
#### 响应示例
**状态码： 200**
查询作业列表响应体
```
{
  "count" : 2,
  "tasks" : [ {
    "id" : "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
    "name" : "qqqq_task",
    "service_id" : "xxxxxxx-xxxxxxx-xxxxxxx-xxxxx-xxxxxx",
    "created_at" : "1686034773024",
    "state" : "PENDING",
    "video_source_name" : "url_test",
    "title" : "testwjh",
    "type" : "0",
    "algorithm_publish_id" : "xxxxxxx-xxxxxxx-xxxxxxx-xxxxx-xxxxxx"
  }, {
    "id" : "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
    "name" : "task_test1",
    "service_id" : "xxxxxxx-xxxxxxx-xxxxxxx-xxxxx-xxxxxx",
    "created_at" : "1686027880205",
    "state" : "STOPPED",
    "video_source_name" : "test_g11",
    "title" : "alg_test",
    "type" : "0",
    "algorithm_publish_id" : "xxxxxxx-xxxxxxx-xxxxxxx-xxxxx-xxxxxx"
  } ],
  "page" : 1,
  "page_size" : 10
}
```
#### 状态码
| 状态码 | 描述        |
|:---|:---|
| 200 | 查询作业列表响应体 |
| 400 | 请求错误      |
| 500 | 内部错误      |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-vias/vias_03_0280.html)。
