
# 新增批量任务 - CreateBatchTask
#### 功能介绍
新增批量任务。
#### 调试
您可以在[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/VIAS/doc?api=CreateBatchTask)中调试该接口，支持自动认证鉴权。API Explorer可以自动生成SDK代码示例，并提供SDK代码示例调试功能。
#### URI
POST /v2/{project_id}/batch-tasks
表1路径参数 
| 参数         | 是否必选 | 参数类型   | 描述                                                                                                                                           |
|:---|:---|:---|:---|
| project_id | 是    | String | **参数解释：** 用户项目ID，获取方法参见[获取项目ID和名称](https://support.huaweicloud.com/api-vias/vias_03_0283.html)。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。 |
#### 请求参数
表2请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                                                                                     |
|:---|:---|:---|:---|
| X-Auth-Token | 是    | String | **参数解释：** 用户Token，获取方法参见[认证鉴权](https://support.huaweicloud.com/api-vias/vias_03_0009.html)。 **约束限制：** 不涉及。 **取值范围：** 字符串长度\[0, 32768\]。 **默认取值：** 不涉及。 |
   
表3请求Body参数 
| 参数                   | 是否必选 | 参数类型                                                                    | 描述                                                                                                                    |
|:---|:---|:---|:---|
| name                 | 是    | String                                                                  | **参数解释：** 任务名称，只能由中文、字母（a～z A～Z）、数字（0～9）、中划线（-）、下划线（_）组成，长度范围为\[1，100\]。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。 |
| description          | 否    | String                                                                  | **参数解释：** 任务的描述，选填。长度不超过500。 **约束限制：** 不涉及。 **取值范围：** 字符串长度\[0, 500\]。 **默认取值：** 不涉及。                                 |
| schedule             | 否    | [TaskSchedule] object           | 定时任务参数，定时周期 仅支持周模式。                                                                                                   |
| batch_input          | 是    | [BatchTaskInputDto] object | **参数解释：** 批量任务输入。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                        |
| output               | 是    | [TaskOutput] object               | 作业的输出配置，至少需要配置一项输出方式。                                                                                                 |
| config               | 否    | [TaskServiceConfig] object | **参数解释：** 任务配置参数。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                        |
| service_name         | 是    | String                                                                  | **参数解释：** 算法api标识。 **约束限制：** 不涉及。 **取值范围：** 需要满足正则表达式 \^\[\\u4E00-\\u9FA5a-zA-Z0-9_-\]{1,100}$。 **默认取值：** 不涉及。        |
| service_version      | 是    | String                                                                  | **参数解释：** 服务版本号。 **约束限制：** 不涉及。 **取值范围：** 需要满足正则表达式 \^\[a-z0-9.\]{3,32}$。 **默认取值：** 不涉及。                              |
| is_saved_as_template | 否    | Boolean                                                                 | **参数解释：** 是否保存为模板。 **约束限制：** 不涉及。 **取值范围：** - true：保存为模板 - false：不保存为模板 **默认取值：** false                               |
| resource_order_id    | 否    | String                                                                  | **参数解释：** 资源订单id，与算法相关。 **约束限制：** 不涉及。 **取值范围：** 需要满足正则表达式 \^\[a-z0-9-_\]{4,36}$。 **默认取值：** 不涉及。                      |
   
 表4TaskSchedule 
| 参数            | 是否必选 | 参数类型                                                                 | 描述                                                                                                                                 |
|:---|:---|:---|:---|
| type          | 是    | String                                                               | **参数解释：** 计划任务的类型，使用计划任务时必填。可选类型weekly（每周执行）。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                         |
| timezone      | 是    | String                                                               | **参数解释：** 用户所处的时区，使用计划任务时必填。精确到分钟。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                    |
| days_of_week  | 否    | Array of integers                                                    | **参数解释：** 任务会在一周的哪几天执行，当且仅当计划任务类型为weekly时，该字段需填且必填。1\~7分别指代星期一至星期日。 **约束限制：** 不涉及。 **取值范围：** 列表长度\[1, 7\]。 **默认取值：** 不涉及。          |
| days_of_month | 否    | Array of integers                                                    | **参数解释：** 任务会在一个月的哪几天执行，当且仅当计划任务类型为monthly时，该字段需填且必填。1\~31分别指代一个月中的1日至31日，当前系统不支持该参数。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。 |
| periods       | 否    | Array\<Array\<[TimeWindow]\>\> | **参数解释：** 时间段模式配置，指定周计划或者月计划中具体每天作业的执行时间段，至少需指定一个时间段。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                 |
   
 表5TimeWindow 
| 参数       | 是否必选 | 参数类型   | 描述                                                                                            |
|:---|:---|:---|:---|
| begin_at | 否    | String | **参数解释：** 单个时间段执行的起始时间，必填。其余计划任务类型时，格式为hh:mm:ss。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。 |
| end_at   | 否    | String | **参数解释：** 单个时间段执行的结束时间，必填，其余计划任务类型时，格式为hh:mm:ss。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。 |
   
 表6BatchTaskInputDto 
| 参数                 | 是否必选 | 参数类型                                                                                                    | 描述                                                                         |
|:---|:---|:---|:---|
| video_source_group | 否    | Array of [BatchTaskVideoSourceGroupDto] objects | **参数解释：** 视频源分组信息。 **约束限制：** 不涉及。 **取值范围：** 列表长度\[1, 100\]。 **默认取值：** 不涉及。 |
   
 表7BatchTaskVideoSourceGroupDto 
| 参数                    | 是否必选 | 参数类型                                                                                                    | 描述                                                                       |
|:---|:---|:---|:---|
| video_source_group_id | 是    | String                                                                                                  | **参数解释：** 视频源分组id。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。          |
| video_source_list     | 是    | Array of [BatchTaskInputVideoSourceDto] objects | **参数解释：** 视频源列表。 **约束限制：** 不涉及。 **取值范围：** 列表长度\[0, 100\]。 **默认取值：** 不涉及。 |
   
 表8BatchTaskInputVideoSourceDto 
| 参数              | 是否必选 | 参数类型   | 描述                                                                         |
|:---|:---|:---|:---|
| video_source_id | 是    | String | **参数解释：** 视频源id。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。              |
| target_roi      | 否    | String | **参数解释：** roi区域。 **约束限制：** 不涉及。 **取值范围：** 字符串长度\[0, 2048\]。 **默认取值：** 不涉及。 |
   
 表9TaskOutput 
| 参数           | 是否必选 | 参数类型                                                                    | 描述                                                                                                    |
|:---|:---|:---|:---|
| obs          | 否    | [TaskOutputObs] object         | 输出为obs类型时的配置信息。                                                                                       |
| dis          | 否    | [TaskOutputDis] object         | 输出为dis类型时的配置信息。                                                                                       |
| webhook      | 否    | [TaskOutputWebhook] object | 输出为webhook类型时的配置信息。                                                                                   |
| event_center | 否    | Boolean                                                                 | **参数解释：** 输出方式是否选择为事件中心。 **约束限制：** 不涉及。 **取值范围：** - true：输出方式是事件中心 - false：输出方式不是事件中心 **默认取值：** false |
   
 表10TaskOutputObs 
| 参数            | 是否必选 | 参数类型             | 描述                                                                                                                                                      |
|:---|:---|:---|:---|
| bucket        | 是    | String           | **参数解释：** OBS桶名，选用obs类型输出时必填。 **约束限制：** 不涉及。 **取值范围：** 需要满足正则表达式\^\[a-z0-9\](?!.*\[-.\]\[-.\].*)(\[a-z0-9-.\]{1,61})\[a-z0-9\]$。 **默认取值：** 不涉及。         |
| path          | 是    | String           | **参数解释：** OBS的路径，选用obs类型输出时必填. **约束限制：** 不涉及。 **取值范围：** 需要满足正则表达式 \^(?!\[/.\\s\])(?!.*//.*)(\[\^:\*?"\<\>\|\\\]{0,1023})(?\<!\[.\\s\])$。 **默认取值：** 不涉及。 |
| data_category | 否    | Array of strings | **参数解释：** 作业输出数据类别的列表，选填，仅部分服务需要。当输出类型下有这个列表时，表示希望这个输出类型下存放dataCategory列表内的数据。 **约束限制：** 不涉及。 **取值范围：** 列表长度\[0, 10\]。 **默认取值：** 不涉及。                   |
   
 表11TaskOutputDis 
| 参数            | 是否必选 | 参数类型             | 描述                                                                                                                                                                                                                          |
|:---|:---|:---|:---|
| stream_name   | 是    | String           | **参数解释：** DIS流名称，选用dis类型输出时必填。 **约束限制：** 不涉及。 **取值范围：** 需要满足正则表达式\^\[-A-Za-z0-9_\]{1,64}$。 **默认取值：** 不涉及。                                                                                                                   |
| data_category | 否    | Array of strings | **参数解释：** 任务输出数据类别的列表，选填，仅部分服务需要。当输出类型下有这个列表时，表示希望这个输出类型下存放dataCategory列表内的数据。 【例如创建边缘人脸任务API中，输出结果支持data_category参数，取值范围为\[FacaImage,OriginImage\],分别表示是否发送人脸图和原始图】 **约束限制：** 不涉及。 **取值范围：** 列表长度\[0, 10\]。 **默认取值：** 不涉及。 |
   
 表12TaskOutputWebhook 
| 参数            | 是否必选 | 参数类型             | 描述                                                                                                                                    |
|:---|:---|:---|:---|
| url           | 是    | String           | **参数解释：** 结果回调地址，选用webhook类型输出时必填。 **约束限制：** 不涉及。 **取值范围：** 字符串长度\[0, 1000\]。 **默认取值：** 不涉及。                                          |
| headers       | 是    | Object           | **参数解释：** 结果回调时需要携带的请求头，选用webhook类型输出时必填。 **约束限制：** 不涉及。 **取值范围：** json格式，以键值对的形式表示请求头和取值，至少1组，至多10组。 **默认取值：** 不涉及。                  |
| data_category | 否    | Array of strings | **参数解释：** 任务输出数据类别的列表，选填，仅部分服务需要。当输出类型下有这个列表时，表示希望这个输出类型下存放dataCategory列表内的数据。 **约束限制：** 不涉及。 **取值范围：** 列表长度\[0, 10\]。 **默认取值：** 不涉及。 |
   
 表13TaskServiceConfig 
| 参数     | 是否必选 | 参数类型   | 描述                                                                                                            |
|:---|:---|:---|:---|
| common | 否    | Object | **参数解释：** 任务运行时指定的具体的自定义配置项，由服务发布者定义。整体呈json格式，具体配置项参见相应算法服务的说明。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。 |
   
#### 响应参数
**状态码：200**
表14响应Body参数 
| 参数            | 参数类型             | 描述                               |
|:---|:---|:---|
| total_count   | Integer          | **参数解释：** 作业总数。 **取值范围：** 不涉及。   |
| failed_count  | Integer          | **参数解释：** 失败作业数量。 **取值范围：** 不涉及。 |
| succeed_count | Integer          | **参数解释：** 成功作业数量。 **取值范围：** 不涉及。 |
| id            | String           | **参数解释：** 批量作业id。 **取值范围：** 不涉及。 |
| error_list    | Array of strings | **参数解释：** 错误信息列表。 **取值范围：** 不涉及。 |
   
**状态码：400**
表15响应Body参数 
| 参数         | 参数类型             | 描述                                        |
|:---|:---|:---|
| error_code | String           | **参数解释：** 错误码。 **取值范围：** 不涉及。             |
| error_msg  | String           | **参数解释：** 错误信息描述。 **取值范围：** 不涉及。          |
| detail     | String           | **参数解释：** 错误详情。 **取值范围：** 不涉及。            |
| params     | Array of strings | **参数解释：** 错误参数列举。 **取值范围：** 列表长度\[0, 1\]。 |
| reason     | String           | **参数解释：** 错误原因。 **取值范围：** 不涉及。            |
| advice     | String           | **参数解释：** 建议。 **取值范围：** 不涉及。              |
   
**状态码：500**
表16响应Body参数 
| 参数         | 参数类型             | 描述                                        |
|:---|:---|:---|
| error_code | String           | **参数解释：** 错误码。 **取值范围：** 不涉及。             |
| error_msg  | String           | **参数解释：** 错误信息描述。 **取值范围：** 不涉及。          |
| detail     | String           | **参数解释：** 错误详情。 **取值范围：** 不涉及。            |
| params     | Array of strings | **参数解释：** 错误参数列举。 **取值范围：** 列表长度\[0, 1\]。 |
| reason     | String           | **参数解释：** 错误原因。 **取值范围：** 不涉及。            |
| advice     | String           | **参数解释：** 建议。 **取值范围：** 不涉及。              |
   
#### 请求示例
新增配置名称为"wdwd"使用算法名为"烟火演示算法"版本为"1.0"厂商为"VIAS"不保存模板输入方式为"video_source"输出方式为"webhook"有相关算法配置的批量配置
```
/v2/{project_id}/batch-tasks
{
  "name" : "wdwd",
  "service_name" : "烟火演示算法",
  "service_version" : "1.0",
  "manufacturer" : "VIAS",
  "is_saved_as_template" : false,
  "description" : "",
  "batch_input" : {
    "video_source_group" : [ {
      "video_source_group_id" : "xxxxxxx-xxxxxxx-xxxxxxx-xxxxx-xxxxxx",
      "video_source_list" : [ {
        "video_source_id" : "xxxxxxx-xxxxxxx-xxxxxxx-xxxxx-xxxxxx"
      } ]
    } ]
  },
  "output" : {
    "webhook" : {
      "url" : "http://test",
      "headers" : {
        "a" : "a"
      }
    }
  },
  "config" : {
    "common" : {
      "render_result_sw" : 1,
      "fire_detection_sw" : 1,
      "smoke_detection_sw" : 1
    }
  }
}
```
#### 响应示例
**状态码：200**
批量操作响应体。
```
{
  "total_count" : 1,
  "failed_count" : 0,
  "succeed_count" : 1,
  "id" : "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
  "error_list" : [ ]
}
```
#### 状态码
| 状态码 | 描述       |
|:---|:---|
| 200 | 批量操作响应体。 |
| 400 | 请求错误。    |
| 500 | 内部错误。    |
   
