
# 创建批量任务 - CreateBatchTask
#### 功能介绍
应用服务器可调用此接口为创建批量处理任务，对多个设备进行批量操作。当前支持批量软固件升级、批量创建设备、批量修改设备、批量删除设备、批量冻结设备、批量解冻设备、批量创建命令、批量创建消息任务。
#### 调用方法
请参见[如何调用API](https://support.huaweicloud.com/api-iothub/iot_06_v5_0004.html)。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-iothub/iot_06_v5_0201.html)。
- 如果使用身份策略授权，需具备如下身份策略权限。
  
  | 授权项                     | 访问级别  | 资源类型（\*为必须） | 条件键                   | 别名 | 依赖的授权项 |
  |:---|:---|:---|:---|:---|:---|
  | iotda:batchtasks:create | Write | -           | g:EnterpriseProjectId | -  | -      |
     
  
 
#### URI
POST /v5/iot/{project_id}/batchtasks
表1路径参数 
| 参数         | 是否必选 | 参数类型   | 描述                                                                                               |
|:---|:---|:---|:---|
| project_id | 是    | String | **参数说明** ：项目ID。获取方法请参见 [获取项目ID](https://support.huaweicloud.com/api-iothub/iot_06_v5_1001.html)。 |
   
#### 请求参数
表2请求Header参数 
| 参数          | 是否必选 | 参数类型   | 描述                                                                                                                                                                                          |
|:---|:---|:---|:---|
| Instance-Id | 否    | String | **参数说明** ：实例ID。物理多租下各实例的唯一标识，建议携带该参数，在使用专业版时必须携带该参数。您可以在IoTDA管理控制台界面，选择左侧导航栏"总览"页签查看当前实例的ID，具体获取方式请参考[查看实例详情](https://support.huaweicloud.com/usermanual-iothub/iot_01_0079.html#section1)。 |
   
表3请求Body参数 
| 参数              | 是否必选 | 参数类型                                                                                                | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
|:---|:---|:---|:---|
| app_id          | 否    | String                                                                                              | **参数说明** ：资源空间ID。此参数为非必选参数，存在多资源空间的用户需要使用该接口时，建议携带该参数指定创建的批量任务归属到哪个资源空间下，否则创建的批量任务将会归属到[默认资源空间](https://support.huaweicloud.com/usermanual-iothub/iot_01_0006.html#section0)下。 **取值范围**：长度不超过36，只允许字母、数字、下划线（_）、连接符（-）的组合。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| task_name       | 是    | String                                                                                              | **参数说明**：批量任务名称。 **取值范围**：长度不超过128，只允许中文、字母、数字、下划线（_）的组合。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| task_type       | 是    | String                                                                                              | **参数说明**：批量任务类型。 **取值范围**： - softwareUpgrade: 软件升级任务   - firmwareUpgrade: 固件升级任务   - createDevices: 批量创建设备任务   - deleteDevices: 批量删除设备任务   - freezeDevices: 批量冻结设备任务   - unfreezeDevices: 批量解冻设备任务   - createCommands: 批量创建同步命令任务   - createAsyncCommands: 批量创建异步命令任务   - createMessages: 批量创建消息任务   - updateDeviceShadows：批量配置设备影子任务   - updateDevices：批量更新设备任务   - changeGateway：修改子设备网关    |
| task_mode       | 否    | String                                                                                              | **参数说明**：批量任务的模式，当前只支持网关模式，当task_type为firmwareUpgrade，softwareUpgrade支持该参数。软固件升级的场景下，若升级的设备为某个网关的子设备，则平台下发获取版本信息通知和平台下发升级通知将携带task_id（软固件升级批量任务的任务ID）和sub_device_count（批量任务中网关设备包含的升级子设备数量）字段。 **取值范围**：GATEWAY: 网关模式。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| need_confirm    | 否    | Boolean                                                                                             | **参数说明**：当需要自主控制该任务时设置此参数，当task_type为firmwareUpgrade，softwareUpgrade，moduleUpgrade支持该参数。软固件升级的场景下，当need_confirm为true时，任务分发后所有子任务一直为waitting状态，需要调确认接口后才变为processing状态，任务开始分发，不设置或者设置为false时子任务自动分发。 **取值范围**：true: 需要确认才分发子任务，false: 不需要确认自动分发子任务。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| task_ext_info   | 否    | Object                                                                                              | **参数说明**：批量任务额外扩展信息，当task_type为firmwareUpgrade，softwareUpgrade支持该参数。软固件升级的场景下，平台下发获取版本信息通知和平台下发升级通知将携带该字段。 **取值范围**：最长不超过512个字符。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| targets         | 否    | Array of strings                                                                                    | **参数说明**：执行批量任务的目标，此处填写device_id列表，且最多支持500个device_id。当task_type为firmwareUpgrade，softwareUpgrade，deleteDevices，freezeDevices，unfreezeDevices，createCommands，createAsyncCommands，createMessages，updateDeviceShadows，changeGateway，支持该参数。同时使用targets、targets_filter、document_source参数时，只有一个参数会生效，且平台优先使用targets，其次是targets_filter，最后是document_source。 **取值范围**：device_id列表。device_id支持长度不超过128，只允许字母、数字、下划线（_）、连接符（-）的组合。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| targets_filter  | 否    | Map\<String,Object\>                                                                                | **参数说明**：任务目标筛选参数。Json格式，里面是一个个键值对，（K,V）格式标识筛选targets需要的参数，目前支持的K有group_ids（V填写group_id数组，eg:\["e495cf17-ff79-4294-8f64-4d367919d665"\]，任务则会筛选出来符合该群组条件的设备作为目标）。当task_type为firmwareUpgrade，softwareUpgrade，deleteDevices，freezeDevices，unfreezeDevices，createCommands，createAsyncCommands，createMessages，updateDeviceShadows，changeGateway支持该参数。同时使用targets、targets_filter、document_source参数时，只有一个参数会生效，且平台优先使用targets，其次是targets_filter，最后是document_source。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| document        | 否    | Object                                                                                              | **参数说明**：执行任务数据文档，Json格式，Json里面是(K,V)键值对。当task_type为firmwareUpgrade，softwareUpgrade，createCommands，createAsyncCommands，createMessages，updateDeviceShadows,changeGateway支持该参数。 - softwareUpgrade\|firmwareUpgrade，需要填写key为package_ids，value为在平台上传的软固件附件id，id由portal软件库包管理上传并查询获得。eg："{"package_ids": \["32822e5744a45ede319d2c50"\]}"。   - createCommands，需要填写同步命令相关参数，eg："{"service_id":"water","command_name":"ON_OFF","paras":{"value":"ON"}}"，参考[设备同步命令](https://support.huaweicloud.com/api-iothub/iot_06_v5_0038.html)。   - createAsyncCommands，需要填写异步命令相关参数，eg："{"service_id":"water","command_name":"ON_OFF","paras":{"value":"ON"},"expire_time":0,"send_strategy":"immediately"}"，参考[设备异步命令](https://support.huaweicloud.com/api-iothub/iot_06_v5_0040.html)。   - createMessages，需要填写消息下发相关参数，eg："{"message_id":"99b32da9-cd17-4cdf-a286-f6e849cbc364","name":"messageName","message":"HelloWorld","encoding":"none","payload_format":"standard","topic":"messageDown","topic_full_name":"/device/message/down"}"，参考[下发设备消息](https://support.huaweicloud.com/api-iothub/iot_06_v5_0059.html)。   - updateDeviceShadows，需要填写配置设备影子相关参数，eg："{"shadow": \[{"service_id": "WaterMeter","desired": {"temperature": "60"}}\]}"，参考[配置设备影子预期数据](https://support.huaweicloud.com/api-iothub/iot_06_v5_0072.html)。限制说明：1. service_id和desired参数必填。2. 配置的service_id数量不大于5个且service_id不能重复。3. 配置参数内容大小不超过10K。- changeGateway，需要填写key为gateway_id，value为目标网关的设备id。eg："{"gateway_id": "32822e5744a45ede319d2c50"}"。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| task_policy     | 否    | [TaskPolicy] object | **参数说明**：任务策略请求信息。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| document_source | 否    | String                                                                                              | **参数说明** ：上传的批量任务文件ID。当task_type为createDevices，updateDevices，deleteDevices，freezeDevices，unfreezeDevices时，支持该参数。使用该参数时，需要先调用批量任务的文件管理接口上传文件来获取文件ID，文件样例请参见 [批量注册设备模板](https://iot-developer.obs.cn-north-4.myhuaweicloud.com/IoTM/2023-3/BatchCreateDevices_Template.xlsx)，[批量更新设备模板](https://iot-developer.obs.cn-north-4.myhuaweicloud.com/IoTM/2023-3/BatchUpdateDevices_Template.xlsx)，[批量删除设备模板](https://developer.obs.cn-north-4.myhuaweicloud.com/template/BatchDeleteDevices_Template.xlsx)，[批量冻结设备模板](https://developer.obs.cn-north-4.myhuaweicloud.com/template/BatchFreezeDevices_Template.xlsx)，[批量解冻设备模板](https://developer.obs.cn-north-4.myhuaweicloud.com/template/BatchUnfreezeDevices_Template.xlsx)。同时使用targets、targets_filter、document_source参数时，只有一个参数会生效，且平台优先使用targets，其次是targets_filter，最后是document_source。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
   
 表4TaskPolicy 
| 参数             | 是否必选 | 参数类型    | 描述                                                                                                                                                                            |
|:---|:---|:---|:---|
| schedule_time  | 否    | String  | **参数说明**：批量任务指定执行时间。 **取值范围**：7天内，不传入此参数表示立即执行，格式：yyyyMMdd'T'HHmmss'Z'，如20151212T121212Z。        |
| retry_count    | 否    | Integer | **参数说明**：批量任务子任务自动重试次数。 **取值范围**：如果传入retry_interval参数，则需传入该参数，最大支持重试5次。                          |
| retry_interval | 否    | Integer | **参数说明**：批量任务子任务失败后，自动重试时间间隔，单位：分钟。 **取值范围**：最大1440(24小时)，不传入此参数表示不重试，如果传入retry_count参数则需要传入该参数。 |
   
#### 响应参数
**状态码：201**
表5响应Body参数 
| 参数             | 参数类型                                                                                                     | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
|:---|:---|:---|
| task_id        | String                                                                                                   | 批量任务ID，创建批量任务时由物联网平台分配获得。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| task_name      | String                                                                                                   | 批量任务名称。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| task_type      | String                                                                                                   | 批量任务类型，取值范围：firmwareUpgrade，softwareUpgrade，createDevices，deleteDevices，freezeDevices，unfreezeDevices，createCommands，createAsyncCommands，createMessages，updateDeviceShadows, changeGateway。 - softwareUpgrade: 软件升级任务   - firmwareUpgrade: 固件升级任务   - createDevices: 批量创建设备任务   - deleteDevices: 批量删除设备任务   - freezeDevices: 批量冻结设备任务   - unfreezeDevices: 批量解冻设备任务   - createCommands: 批量创建同步命令任务   - createAsyncCommands: 批量创建异步命令任务   - createMessages: 批量创建消息任务   - updateDeviceShadows: 批量配置设备影子任务   - updateDevices：批量更新设备任务   - changeGateway 批量修改设备网关    |
| task_mode      | String                                                                                                   | **参数说明**：批量任务的模式，当前只支持网关模式，当task_type为firmwareUpgrade，softwareUpgrade支持该参数。软固件升级的场景下，若升级的设备为某个网关的子设备，则平台下发获取版本信息通知和平台下发升级通知将携带task_id（软固件升级批量任务的任务ID）和sub_device_count（批量任务中网关设备包含的升级子设备数量）字段。 **取值范围**：GATEWAY: 网关模式。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| need_confirm   | Boolean                                                                                                  | **参数说明**：当需要自主控制该任务时设置此参数，当task_type为firmwareUpgrade，softwareUpgrade,moduleUpgrade支持该参数。软固件升级的场景下，当need_confirm为true时，任务分发后所有子任务一直为waitting状态，需要调确认接口后才变为processing状态，任务开始分发，不设置或者设置为false时子任务自动分发。 **取值范围**：true: 需要确认才分发子任务，false: 不需要确认自动分发子任务。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| task_ext_info  | Object                                                                                                   | **参数说明**：批量任务额外扩展信息，当task_type为firmwareUpgrade，softwareUpgrade支持该参数。软固件升级的场景下，平台下发获取版本信息通知和平台下发升级通知将携带该字段。 **取值范围**：最长不超过512个字符。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| targets        | Array of strings                                                                                         | 执行批量任务的目标，当task_type为firmwareUpgrade，softwareUpgrade，deleteDevices，freezeDevices，unfreezeDevices，createCommands，createAsyncCommands，createMessages，updateDeviceShadows，此处填写device_id列表。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| targets_filter | Map\<String,Object\>                                                                                     | 任务目标筛选参数。Json格式，里面是一个个键值对，（K,V）格式标识筛选targets需要的参数，目前支持的K有group_ids（V填写group_id数组，eg:\["e495cf17-ff79-4294-8f64-4d367919d665"\]，任务则会筛选出来符合该群组条件的设备作为目标）                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| document       | Object                                                                                                   | 执行任务数据文档，Json格式。(当task_type为softwareUpgrade\|firmwareUpgrade，也就是软固件升级任务时，Json里面是(K,V)键值对，需要填写key为package_id，value为在平台上传的软固件附件id，id由portal软件库包管理上传并查询获得。当task_type为createCommands，也就是批量创建同步命令任务时，Json里面是命令相关参数，eg：{"service_id":"water","command_name":"ON_OFF","paras":{"value":"ON"}}，参考[设备同步命令](https://support.huaweicloud.com/api-iothub/iot_06_v5_0038.html))。当task_type为createAsyncCommands，也就是批量创建异步命令任务时，Json里面是命令相关参数，eg：{"service_id":"water","command_name":"ON_OFF","paras":{"value":"ON"},"expire_time":0,"send_strategy":"immediately"}，参考[设备异步命令](https://support.huaweicloud.com/api-iothub/iot_06_v5_0040.html))。当task_type为updateDeviceShadows，也就是批量配置设备影子任务时，Json里面是命令相关参数，eg：{"shadow": \[{"service_id": "WaterMeter","desired": {"temperature": "60"}}\]}，参考[配置设备影子预期数据](https://support.huaweicloud.com/api-iothub/iot_06_v5_0072.html))。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| task_policy    | [TaskPolicy] object     | 任务执行策略。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| status         | String                                                                                                   | 批量任务的状态，可选参数，取值范围：Success\|Fail\|Processing\|PartialSuccess\|Stopped\|Waitting\|Initializing\|Stopping。 - Initializing: 初始化中。   - Waitting: 等待中。   - Processing: 执行中。   - Success: 成功。   - Fail: 失败。   - PartialSuccess: 部分成功。   - Stopped: 停止。   - Stopping 停止中。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| status_desc    | String                                                                                                   | 批量任务状态描述(包含主任务失败错误信息)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| task_progress  | [TaskProgress] object | 子任务执行统计结果。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| create_time    | String                                                                                                   | 批量任务的创建时间。格式：yyyyMMdd'T'HHmmss'Z'，如20151212T121212Z。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
   
 表6TaskPolicy 
| 参数             | 参数类型    | 描述                                                                                                                                                                            |
|:---|:---|:---|
| schedule_time  | String  | **参数说明**：批量任务指定执行时间。 **取值范围**：7天内，不传入此参数表示立即执行，格式：yyyyMMdd'T'HHmmss'Z'，如20151212T121212Z。        |
| retry_count    | Integer | **参数说明**：批量任务子任务自动重试次数。 **取值范围**：如果传入retry_interval参数，则需传入该参数，最大支持重试5次。                          |
| retry_interval | Integer | **参数说明**：批量任务子任务失败后，自动重试时间间隔，单位：分钟。 **取值范围**：最大1440(24小时)，不传入此参数表示不重试，如果传入retry_count参数则需要传入该参数。 |
   
 表7TaskProgress 
| 参数              | 参数类型    | 描述            |
|:---|:---|:---|
| total           | Integer | 子任务总个数。       |
| processing      | Integer | 正在执行的子任务个数。   |
| success         | Integer | 执行成功的子任务个数。   |
| fail            | Integer | 执行失败的的子任务个数。  |
| waitting        | Integer | 等待执行的子任务个数。   |
| fail_wait_retry | Integer | 失败等待重试的子任务个数。 |
| stopped         | Integer | 停止的子任务个数。     |
| removed         | Integer | 移除的子任务个数。     |
   
#### 请求示例
- 创建批量软件升级任务，指定设备升级。
  ```
  POST https://{endpoint}/v5/iot/{project_id}/batchtasks
  {
    "app_id" : "Ev8FVvCfOdQDzrFrxSOemiw_aMca",
    "task_name" : "BatchSoftwareUpgradeTask",
    "task_type" : "softwareUpgrade",
    "targets" : [ "e495cf17-ff79-4294-8f64-4d367919d665" ],
    "document" : {
      "package_id" : "32822e5744a45ede319d2c50"
    },
    "task_policy" : {
      "schedule_time" : "20151212T121212Z",
      "retry_count" : 5,
      "retry_interval" : 60
    }
  }
  ```
  
- 创建批量软件升级任务，指定设备组中设备进行升级。
  ```
  POST https://{endpoint}/v5/iot/{project_id}/batchtasks
  {
    "app_id" : "Ev8FVvCfOdQDzrFrxSOemiw_aMca",
    "task_name" : "BatchSoftwareUpgradeTask",
    "task_type" : "softwareUpgrade",
    "document" : {
      "package_id" : "32822e5744a45ede319d2c50"
    },
    "targets_filter" : {
      "group_ids" : [ "e495cf17-ff79-4294-8f64-4d367919d665" ]
    },
    "task_policy" : {
      "schedule_time" : "20151212T121212Z",
      "retry_count" : 5,
      "retry_interval" : 60
    }
  }
  ```
  
- 创建批量注册设备任务，从文件中读取参数。
  ```
  POST https://{endpoint}/v5/iot/{project_id}/batchtasks
  {
    "app_id" : "Ev8FVvCfOdQDzrFrxSOemiw_aMca",
    "task_name" : "BatchCreateDevicesTask",
    "task_type" : "createDevices",
    "task_policy" : {
      "schedule_time" : "20151212T121212Z",
      "retry_count" : 5,
      "retry_interval" : 60
    },
    "document_source" : "jeQDJQZltU8iKgFFoW060F5SGZka"
  }
  ```
  
 
#### 响应示例
**状态码：201**
Created
```
{
  "task_id" : "5c8ba99030344005c02316ad",
  "task_name" : "testname",
  "task_type" : "softwareUpgrade",
  "targets" : [ "e495cf17-ff79-4294-8f64-4d367919d665" ],
  "targets_filter" : {
    "group_ids" : [ "e495cf17-ff79-4294-8f64-4d367919d665" ]
  },
  "document" : {
    "package_id" : "32822e5744a45ede319d2c50"
  },
  "task_policy" : {
    "schedule_time" : "20151212T121212Z",
    "retry_count" : 5,
    "retry_interval" : 60
  },
  "status" : "Success",
  "status_desc" : "string",
  "task_progress" : {
    "total" : 0,
    "processing" : 0,
    "success" : 0,
    "fail" : 0,
    "waitting" : 0,
    "fail_wait_retry" : 0,
    "stopped" : 0
  },
  "create_time" : "20151212T121212Z"
}
```
#### SDK代码示例
SDK代码示例如下。
- [Java]
  - 创建批量软件升级任务，指定设备升级。
    ```
    package com.huaweicloud.sdk.test;
    import com.huaweicloud.sdk.core.auth.ICredential;
    import com.huaweicloud.sdk.core.auth.AbstractCredentials;
    import com.huaweicloud.sdk.core.auth.BasicCredentials;
    import com.huaweicloud.sdk.core.exception.ConnectionException;
    import com.huaweicloud.sdk.core.exception.RequestTimeoutException;
    import com.huaweicloud.sdk.core.exception.ServiceResponseException;
    import com.huaweicloud.sdk.core.region.Region;
    import com.huaweicloud.sdk.iotda.v5.*;
    import com.huaweicloud.sdk.iotda.v5.model.*;
    import java.util.List;
    import java.util.ArrayList;
    public class CreateBatchTaskSolution {
        public static void main(String[] args) {
            // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
            // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
            String ak = System.getenv("CLOUD_SDK_AK");
            String sk = System.getenv("CLOUD_SDK_SK");
            // ENDPOINT：请在控制台的"总览"界面的"平台接入地址"中查看“应用侧”的https接入地址。
            String iotdaEndpoint = "<YOUR ENDPOINT>";
            String projectId = "{project_id}";
            ICredential auth = new BasicCredentials()
                    .withProjectId(projectId)
                    // 标准版/企业版需要使用衍生算法，基础版请删除配置"withDerivedPredicate";
                    .withDerivedPredicate(AbstractCredentials.DEFAULT_DERIVED_PREDICATE) // Used in derivative ak/sk authentication scenarios
                    .withAk(ak)
                    .withSk(sk);
            IoTDAClient client = IoTDAClient.newBuilder()
                    .withCredential(auth)
                    // 标准版/企业版：需自行创建Region对象，基础版：请使用IoTDARegion的region对象，如"withRegion(IoTDARegion.CN_NORTH_4)"
                    .withRegion(new Region("cn-north-4", iotdaEndpoint))
                    .build();
            CreateBatchTaskRequest request = new CreateBatchTaskRequest();
            CreateBatchTask body = new CreateBatchTask();
            TaskPolicy taskPolicybody = new TaskPolicy();
            taskPolicybody.withScheduleTime("20151212T121212Z")
                .withRetryCount(5)
                .withRetryInterval(60);
            List<String> listbodyTargets = new ArrayList<>();
            listbodyTargets.add("e495cf17-ff79-4294-8f64-4d367919d665");
            body.withTaskPolicy(taskPolicybody);
            body.withDocument("{\"package_id\":\"32822e5744a45ede319d2c50\"}");
            body.withTargets(listbodyTargets);
            body.withTaskType("softwareUpgrade");
            body.withTaskName("BatchSoftwareUpgradeTask");
            body.withAppId("Ev8FVvCfOdQDzrFrxSOemiw_aMca");
            request.withBody(body);
            try {
                CreateBatchTaskResponse response = client.createBatchTask(request);
                System.out.println(response.toString());
            } catch (ConnectionException e) {
                e.printStackTrace();
            } catch (RequestTimeoutException e) {
                e.printStackTrace();
            } catch (ServiceResponseException e) {
                e.printStackTrace();
                System.out.println(e.getHttpStatusCode());
                System.out.println(e.getRequestId());
                System.out.println(e.getErrorCode());
                System.out.println(e.getErrorMsg());
            }
        }
    }
    ```
    
  
  - 创建批量软件升级任务，指定设备组中设备进行升级。
    ```
    package com.huaweicloud.sdk.test;
    import com.huaweicloud.sdk.core.auth.ICredential;
    import com.huaweicloud.sdk.core.auth.AbstractCredentials;
    import com.huaweicloud.sdk.core.auth.BasicCredentials;
    import com.huaweicloud.sdk.core.exception.ConnectionException;
    import com.huaweicloud.sdk.core.exception.RequestTimeoutException;
    import com.huaweicloud.sdk.core.exception.ServiceResponseException;
    import com.huaweicloud.sdk.core.region.Region;
    import com.huaweicloud.sdk.iotda.v5.*;
    import com.huaweicloud.sdk.iotda.v5.model.*;
    import java.util.Map;
    import java.util.HashMap;
    public class CreateBatchTaskSolution {
        public static void main(String[] args) {
            // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
            // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
            String ak = System.getenv("CLOUD_SDK_AK");
            String sk = System.getenv("CLOUD_SDK_SK");
            // ENDPOINT：请在控制台的"总览"界面的"平台接入地址"中查看“应用侧”的https接入地址。
            String iotdaEndpoint = "<YOUR ENDPOINT>";
            String projectId = "{project_id}";
            ICredential auth = new BasicCredentials()
                    .withProjectId(projectId)
                    // 标准版/企业版需要使用衍生算法，基础版请删除配置"withDerivedPredicate";
                    .withDerivedPredicate(AbstractCredentials.DEFAULT_DERIVED_PREDICATE) // Used in derivative ak/sk authentication scenarios
                    .withAk(ak)
                    .withSk(sk);
            IoTDAClient client = IoTDAClient.newBuilder()
                    .withCredential(auth)
                    // 标准版/企业版：需自行创建Region对象，基础版：请使用IoTDARegion的region对象，如"withRegion(IoTDARegion.CN_NORTH_4)"
                    .withRegion(new Region("cn-north-4", iotdaEndpoint))
                    .build();
            CreateBatchTaskRequest request = new CreateBatchTaskRequest();
            CreateBatchTask body = new CreateBatchTask();
            TaskPolicy taskPolicybody = new TaskPolicy();
            taskPolicybody.withScheduleTime("20151212T121212Z")
                .withRetryCount(5)
                .withRetryInterval(60);
            Map<String, Object> listbodyTargetsFilter = new HashMap<>();
            listbodyTargetsFilter.put("group_ids", "[e495cf17-ff79-4294-8f64-4d367919d665]");
            body.withTaskPolicy(taskPolicybody);
            body.withDocument("{\"package_id\":\"32822e5744a45ede319d2c50\"}");
            body.withTargetsFilter(listbodyTargetsFilter);
            body.withTaskType("softwareUpgrade");
            body.withTaskName("BatchSoftwareUpgradeTask");
            body.withAppId("Ev8FVvCfOdQDzrFrxSOemiw_aMca");
            request.withBody(body);
            try {
                CreateBatchTaskResponse response = client.createBatchTask(request);
                System.out.println(response.toString());
            } catch (ConnectionException e) {
                e.printStackTrace();
            } catch (RequestTimeoutException e) {
                e.printStackTrace();
            } catch (ServiceResponseException e) {
                e.printStackTrace();
                System.out.println(e.getHttpStatusCode());
                System.out.println(e.getRequestId());
                System.out.println(e.getErrorCode());
                System.out.println(e.getErrorMsg());
            }
        }
    }
    ```
    
  
  - 创建批量注册设备任务，从文件中读取参数。
    ```
    package com.huaweicloud.sdk.test;
    import com.huaweicloud.sdk.core.auth.ICredential;
    import com.huaweicloud.sdk.core.auth.AbstractCredentials;
    import com.huaweicloud.sdk.core.auth.BasicCredentials;
    import com.huaweicloud.sdk.core.exception.ConnectionException;
    import com.huaweicloud.sdk.core.exception.RequestTimeoutException;
    import com.huaweicloud.sdk.core.exception.ServiceResponseException;
    import com.huaweicloud.sdk.core.region.Region;
    import com.huaweicloud.sdk.iotda.v5.*;
    import com.huaweicloud.sdk.iotda.v5.model.*;
    public class CreateBatchTaskSolution {
        public static void main(String[] args) {
            // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
            // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
            String ak = System.getenv("CLOUD_SDK_AK");
            String sk = System.getenv("CLOUD_SDK_SK");
            // ENDPOINT：请在控制台的"总览"界面的"平台接入地址"中查看“应用侧”的https接入地址。
            String iotdaEndpoint = "<YOUR ENDPOINT>";
            String projectId = "{project_id}";
            ICredential auth = new BasicCredentials()
                    .withProjectId(projectId)
                    // 标准版/企业版需要使用衍生算法，基础版请删除配置"withDerivedPredicate";
                    .withDerivedPredicate(AbstractCredentials.DEFAULT_DERIVED_PREDICATE) // Used in derivative ak/sk authentication scenarios
                    .withAk(ak)
                    .withSk(sk);
            IoTDAClient client = IoTDAClient.newBuilder()
                    .withCredential(auth)
                    // 标准版/企业版：需自行创建Region对象，基础版：请使用IoTDARegion的region对象，如"withRegion(IoTDARegion.CN_NORTH_4)"
                    .withRegion(new Region("cn-north-4", iotdaEndpoint))
                    .build();
            CreateBatchTaskRequest request = new CreateBatchTaskRequest();
            CreateBatchTask body = new CreateBatchTask();
            TaskPolicy taskPolicybody = new TaskPolicy();
            taskPolicybody.withScheduleTime("20151212T121212Z")
                .withRetryCount(5)
                .withRetryInterval(60);
            body.withDocumentSource("jeQDJQZltU8iKgFFoW060F5SGZka");
            body.withTaskPolicy(taskPolicybody);
            body.withTaskType("createDevices");
            body.withTaskName("BatchCreateDevicesTask");
            body.withAppId("Ev8FVvCfOdQDzrFrxSOemiw_aMca");
            request.withBody(body);
            try {
                CreateBatchTaskResponse response = client.createBatchTask(request);
                System.out.println(response.toString());
            } catch (ConnectionException e) {
                e.printStackTrace();
            } catch (RequestTimeoutException e) {
                e.printStackTrace();
            } catch (ServiceResponseException e) {
                e.printStackTrace();
                System.out.println(e.getHttpStatusCode());
                System.out.println(e.getRequestId());
                System.out.println(e.getErrorCode());
                System.out.println(e.getErrorMsg());
            }
        }
    }
    ```
    
   
- [Python]
  - 创建批量软件升级任务，指定设备升级。
    ```
    # coding: utf-8
    import os
    from huaweicloudsdkcore.auth.credentials import BasicCredentials
    from huaweicloudsdkcore.auth.credentials import DerivedCredentials
    from huaweicloudsdkcore.region.region import Region as coreRegion
    from huaweicloudsdkcore.exceptions import exceptions
    from huaweicloudsdkiotda.v5 import *
    if __name__ == "__main__":
        # The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
        # In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
        ak = os.environ["CLOUD_SDK_AK"]
        sk = os.environ["CLOUD_SDK_SK"]
        # ENDPOINT：请在控制台的"总览"界面的"平台接入地址"中查看“应用侧”的https接入地址，下面创建Client时需要使用自行创建的Region对象，基础版：请选择IoTDAClient中的Region对象 如： IoTDAClient.new_builder().with_region(IoTDARegion.CN_NORTH_4)
        endpoint = "<YOUR ENDPOINT>";
        projectId = "{project_id}"
        credentials = BasicCredentials(ak, sk, projectId).with_derived_predicate(DerivedCredentials.get_default_derived_predicate())
        client = IoTDAClient.new_builder() \
            .with_credentials(credentials) \
            .with_region(coreRegion(id="cn-north-4", endpoint=endpoint)) \
            .build()
        try:
            request = CreateBatchTaskRequest()
            taskPolicybody = TaskPolicy(
                schedule_time="20151212T121212Z",
                retry_count=5,
                retry_interval=60
            )
            listTargetsbody = [
                "e495cf17-ff79-4294-8f64-4d367919d665"
            ]
            request.body = CreateBatchTask(
                task_policy=taskPolicybody,
                document="{\"package_id\":\"32822e5744a45ede319d2c50\"}",
                targets=listTargetsbody,
                task_type="softwareUpgrade",
                task_name="BatchSoftwareUpgradeTask",
                app_id="Ev8FVvCfOdQDzrFrxSOemiw_aMca"
            )
            response = client.create_batch_task(request)
            print(response)
        except exceptions.ClientRequestException as e:
            print(e.status_code)
            print(e.request_id)
            print(e.error_code)
            print(e.error_msg)
    ```
    
  
  - 创建批量软件升级任务，指定设备组中设备进行升级。
    ```
    # coding: utf-8
    import os
    from huaweicloudsdkcore.auth.credentials import BasicCredentials
    from huaweicloudsdkcore.auth.credentials import DerivedCredentials
    from huaweicloudsdkcore.region.region import Region as coreRegion
    from huaweicloudsdkcore.exceptions import exceptions
    from huaweicloudsdkiotda.v5 import *
    if __name__ == "__main__":
        # The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
        # In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
        ak = os.environ["CLOUD_SDK_AK"]
        sk = os.environ["CLOUD_SDK_SK"]
        # ENDPOINT：请在控制台的"总览"界面的"平台接入地址"中查看“应用侧”的https接入地址，下面创建Client时需要使用自行创建的Region对象，基础版：请选择IoTDAClient中的Region对象 如： IoTDAClient.new_builder().with_region(IoTDARegion.CN_NORTH_4)
        endpoint = "<YOUR ENDPOINT>";
        projectId = "{project_id}"
        credentials = BasicCredentials(ak, sk, projectId).with_derived_predicate(DerivedCredentials.get_default_derived_predicate())
        client = IoTDAClient.new_builder() \
            .with_credentials(credentials) \
            .with_region(coreRegion(id="cn-north-4", endpoint=endpoint)) \
            .build()
        try:
            request = CreateBatchTaskRequest()
            taskPolicybody = TaskPolicy(
                schedule_time="20151212T121212Z",
                retry_count=5,
                retry_interval=60
            )
            listTargetsFilterbody = {
                "group_ids": "[e495cf17-ff79-4294-8f64-4d367919d665]"
            }
            request.body = CreateBatchTask(
                task_policy=taskPolicybody,
                document="{\"package_id\":\"32822e5744a45ede319d2c50\"}",
                targets_filter=listTargetsFilterbody,
                task_type="softwareUpgrade",
                task_name="BatchSoftwareUpgradeTask",
                app_id="Ev8FVvCfOdQDzrFrxSOemiw_aMca"
            )
            response = client.create_batch_task(request)
            print(response)
        except exceptions.ClientRequestException as e:
            print(e.status_code)
            print(e.request_id)
            print(e.error_code)
            print(e.error_msg)
    ```
    
  
  - 创建批量注册设备任务，从文件中读取参数。
    ```
    # coding: utf-8
    import os
    from huaweicloudsdkcore.auth.credentials import BasicCredentials
    from huaweicloudsdkcore.auth.credentials import DerivedCredentials
    from huaweicloudsdkcore.region.region import Region as coreRegion
    from huaweicloudsdkcore.exceptions import exceptions
    from huaweicloudsdkiotda.v5 import *
    if __name__ == "__main__":
        # The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
        # In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
        ak = os.environ["CLOUD_SDK_AK"]
        sk = os.environ["CLOUD_SDK_SK"]
        # ENDPOINT：请在控制台的"总览"界面的"平台接入地址"中查看“应用侧”的https接入地址，下面创建Client时需要使用自行创建的Region对象，基础版：请选择IoTDAClient中的Region对象 如： IoTDAClient.new_builder().with_region(IoTDARegion.CN_NORTH_4)
        endpoint = "<YOUR ENDPOINT>";
        projectId = "{project_id}"
        credentials = BasicCredentials(ak, sk, projectId).with_derived_predicate(DerivedCredentials.get_default_derived_predicate())
        client = IoTDAClient.new_builder() \
            .with_credentials(credentials) \
            .with_region(coreRegion(id="cn-north-4", endpoint=endpoint)) \
            .build()
        try:
            request = CreateBatchTaskRequest()
            taskPolicybody = TaskPolicy(
                schedule_time="20151212T121212Z",
                retry_count=5,
                retry_interval=60
            )
            request.body = CreateBatchTask(
                document_source="jeQDJQZltU8iKgFFoW060F5SGZka",
                task_policy=taskPolicybody,
                task_type="createDevices",
                task_name="BatchCreateDevicesTask",
                app_id="Ev8FVvCfOdQDzrFrxSOemiw_aMca"
            )
            response = client.create_batch_task(request)
            print(response)
        except exceptions.ClientRequestException as e:
            print(e.status_code)
            print(e.request_id)
            print(e.error_code)
            print(e.error_msg)
    ```
    
   
- [Go]
  - 创建批量软件升级任务，指定设备升级。
    ```
    package main
    import (
    "fmt"
    "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic"
        iotda "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/iotda/v5"
    "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/iotda/v5/model"
        region "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/region"
        core_auth "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth"
    )
    func main() {
        // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
        // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
        ak := os.Getenv("CLOUD_SDK_AK")
        sk := os.Getenv("CLOUD_SDK_SK")
        // endpoint：请在控制台的"总览"界面的"平台接入地址"中查看"应用侧"的https接入地址
        endpoint := "<YOUR ENDPOINT>"
        projectId := "{project_id}"
        auth, err := basic.NewCredentialsBuilder().
            WithAk(ak).
            WithSk(sk).
            WithProjectId(projectId).
            // 企业版/标准版需要使用衍生算法，基础版请删除该配置"WithDerivedPredicate"
            WithDerivedPredicate(core_auth.GetDefaultDerivedPredicate()). // Used in derivative ak/sk authentication scenarios
            SafeBuild()
        if err != nil {
            fmt.Println(err)
            return
        }
        hcClient, err := iotda.IoTDAClientBuilder().
             // 标准版/企业版需要自行创建region，基础版使用IoTDARegion中的region对象
             WithRegion(region.NewRegion("cn-north-4", endpoint)).
             WithCredential(auth).
             SafeBuild()
        if err != nil {
            fmt.Println(err)
            return
        }
        client := iotda.NewIoTDAClient(hcClient)
        request := &model.CreateBatchTaskRequest{}
    scheduleTimeTaskPolicy:= "20151212T121212Z"
    retryCountTaskPolicy:= int32(5)
    retryIntervalTaskPolicy:= int32(60)
    taskPolicybody := &model.TaskPolicy{
    ScheduleTime: &scheduleTimeTaskPolicy,
    RetryCount: &retryCountTaskPolicy,
    RetryInterval: &retryIntervalTaskPolicy,
    }
    var listTargetsbody = []string{
            "e495cf17-ff79-4294-8f64-4d367919d665",
        }
    var documentCreateBatchTask interface{} = "{\"package_id\":\"32822e5744a45ede319d2c50\"}"
    appIdCreateBatchTask:= "Ev8FVvCfOdQDzrFrxSOemiw_aMca"
    request.Body = &model.CreateBatchTask{
    TaskPolicy: taskPolicybody,
    Document: &documentCreateBatchTask,
    Targets: &listTargetsbody,
    TaskType: "softwareUpgrade",
    TaskName: "BatchSoftwareUpgradeTask",
    AppId: &appIdCreateBatchTask,
    }
    response, err := client.CreateBatchTask(request)
    if err == nil {
            fmt.Printf("%+v\n", response)
        } else {
            fmt.Println(err)
        }
    }
    ```
    
  
  - 创建批量软件升级任务，指定设备组中设备进行升级。
    ```
    package main
    import (
    "fmt"
    "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic"
        iotda "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/iotda/v5"
    "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/iotda/v5/model"
        region "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/region"
        core_auth "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth"
    )
    func main() {
        // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
        // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
        ak := os.Getenv("CLOUD_SDK_AK")
        sk := os.Getenv("CLOUD_SDK_SK")
        // endpoint：请在控制台的"总览"界面的"平台接入地址"中查看"应用侧"的https接入地址
        endpoint := "<YOUR ENDPOINT>"
        projectId := "{project_id}"
        auth, err := basic.NewCredentialsBuilder().
            WithAk(ak).
            WithSk(sk).
            WithProjectId(projectId).
            // 企业版/标准版需要使用衍生算法，基础版请删除该配置"WithDerivedPredicate"
            WithDerivedPredicate(core_auth.GetDefaultDerivedPredicate()). // Used in derivative ak/sk authentication scenarios
            SafeBuild()
        if err != nil {
            fmt.Println(err)
            return
        }
        hcClient, err := iotda.IoTDAClientBuilder().
             // 标准版/企业版需要自行创建region，基础版使用IoTDARegion中的region对象
             WithRegion(region.NewRegion("cn-north-4", endpoint)).
             WithCredential(auth).
             SafeBuild()
        if err != nil {
            fmt.Println(err)
            return
        }
        client := iotda.NewIoTDAClient(hcClient)
        request := &model.CreateBatchTaskRequest{}
    scheduleTimeTaskPolicy:= "20151212T121212Z"
    retryCountTaskPolicy:= int32(5)
    retryIntervalTaskPolicy:= int32(60)
    taskPolicybody := &model.TaskPolicy{
    ScheduleTime: &scheduleTimeTaskPolicy,
    RetryCount: &retryCountTaskPolicy,
    RetryInterval: &retryIntervalTaskPolicy,
    }
    var listTargetsFilterbody = map[string]interface{}{
            "group_ids": "[e495cf17-ff79-4294-8f64-4d367919d665]",
        }
    var documentCreateBatchTask interface{} = "{\"package_id\":\"32822e5744a45ede319d2c50\"}"
    appIdCreateBatchTask:= "Ev8FVvCfOdQDzrFrxSOemiw_aMca"
    request.Body = &model.CreateBatchTask{
    TaskPolicy: taskPolicybody,
    Document: &documentCreateBatchTask,
    TargetsFilter: listTargetsFilterbody,
    TaskType: "softwareUpgrade",
    TaskName: "BatchSoftwareUpgradeTask",
    AppId: &appIdCreateBatchTask,
    }
    response, err := client.CreateBatchTask(request)
    if err == nil {
            fmt.Printf("%+v\n", response)
        } else {
            fmt.Println(err)
        }
    }
    ```
    
  
  - 创建批量注册设备任务，从文件中读取参数。
    ```
    package main
    import (
    "fmt"
    "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic"
        iotda "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/iotda/v5"
    "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/iotda/v5/model"
        region "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/region"
        core_auth "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth"
    )
    func main() {
        // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
        // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
        ak := os.Getenv("CLOUD_SDK_AK")
        sk := os.Getenv("CLOUD_SDK_SK")
        // endpoint：请在控制台的"总览"界面的"平台接入地址"中查看"应用侧"的https接入地址
        endpoint := "<YOUR ENDPOINT>"
        projectId := "{project_id}"
        auth, err := basic.NewCredentialsBuilder().
            WithAk(ak).
            WithSk(sk).
            WithProjectId(projectId).
            // 企业版/标准版需要使用衍生算法，基础版请删除该配置"WithDerivedPredicate"
            WithDerivedPredicate(core_auth.GetDefaultDerivedPredicate()). // Used in derivative ak/sk authentication scenarios
            SafeBuild()
        if err != nil {
            fmt.Println(err)
            return
        }
        hcClient, err := iotda.IoTDAClientBuilder().
             // 标准版/企业版需要自行创建region，基础版使用IoTDARegion中的region对象
             WithRegion(region.NewRegion("cn-north-4", endpoint)).
             WithCredential(auth).
             SafeBuild()
        if err != nil {
            fmt.Println(err)
            return
        }
        client := iotda.NewIoTDAClient(hcClient)
        request := &model.CreateBatchTaskRequest{}
    scheduleTimeTaskPolicy:= "20151212T121212Z"
    retryCountTaskPolicy:= int32(5)
    retryIntervalTaskPolicy:= int32(60)
    taskPolicybody := &model.TaskPolicy{
    ScheduleTime: &scheduleTimeTaskPolicy,
    RetryCount: &retryCountTaskPolicy,
    RetryInterval: &retryIntervalTaskPolicy,
    }
    documentSourceCreateBatchTask:= "jeQDJQZltU8iKgFFoW060F5SGZka"
    appIdCreateBatchTask:= "Ev8FVvCfOdQDzrFrxSOemiw_aMca"
    request.Body = &model.CreateBatchTask{
    DocumentSource: &documentSourceCreateBatchTask,
    TaskPolicy: taskPolicybody,
    TaskType: "createDevices",
    TaskName: "BatchCreateDevicesTask",
    AppId: &appIdCreateBatchTask,
    }
    response, err := client.CreateBatchTask(request)
    if err == nil {
            fmt.Printf("%+v\n", response)
        } else {
            fmt.Println(err)
        }
    }
    ```
    
   
- [更多]
  更多编程语言的SDK代码示例，请参见[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/IoTDA/sdk?api=CreateBatchTask)的代码示例页签，可生成自动对应的SDK代码示例。
#### 状态码
| 状态码 | 描述                    |
|:---|:---|
| 201 | Created               |
| 400 | BAD REQUEST           |
| 401 | Unauthorized          |
| 403 | FORBIDDEN             |
| 500 | Internal Server Error |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-iothub/ErrorCode.html)。
