更新时间:2024-05-29 GMT+08:00

重试批量任务

功能介绍

应用服务器可调用此接口重试批量任务,目前只支持task_type为firmwareUpgrade,softwareUpgrade。如果task_id对应任务已经成功、停止、正在停止、等待中或初始化中,则不可以调用该接口。如果请求Body为{},则调用该接口后会重新执行所有状态为失败、失败待重试和已停止的子任务。

调试

您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。

URI

POST /v5/iot/{project_id}/batchtasks/{task_id}/retry

表1 路径参数

参数

是否必选

参数类型

描述

task_id

String

参数说明:批量任务ID,创建批量任务时由物联网平台分配获得。 取值范围:长度不超过24,只允许小写字母a到f、数字的组合。

project_id

String

参数说明:项目ID。获取方法请参见 获取项目ID

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

参数说明:用户Token。通过调用IAM服务 获取IAM用户Token接口获取,接口返回的响应消息头中“X-Subject-Token”就是需要获取的用户Token。简要的获取方法样例请参见 Token认证

Instance-Id

String

参数说明:实例ID。物理多租下各实例的唯一标识,建议携带该参数,在使用专业版时必须携带该参数。您可以在IoTDA管理控制台界面,选择左侧导航栏“总览”页签查看当前实例的ID,具体获取方式请参考 查看实例详情

最小长度:1

最大长度:36

表3 请求Body参数

参数

是否必选

参数类型

描述

targets

Array of strings

执行批量任务的目标集合,最多支持100个目标,当task_type为firmwareUpgrade,softwareUpgrade时,此处填写device_id

响应参数

状态码: 200

表4 响应Body参数

参数

参数类型

描述

targets

Array of BatchTargetResult objects

批量操作目标结果集合

表5 BatchTargetResult

参数

参数类型

描述

target

String

执行批量任务的目标。

status

String

目标的执行结果,为success或failure

error_code

String

操作失败的错误码

error_msg

String

操作失败的错误描述

请求示例

  • 重新执行状态为失败,失败待重试和已停止的子任务

    POST https://{endpoint}/v5/iot/{project_id}/batchtasks/{task_id}/retry
    
    { }
  • 重新执行指定目标集合的子任务

    POST https://{endpoint}/v5/iot/{project_id}/batchtasks/{task_id}/retry
    
    {
      "targets" : [ "e495cf17-ff79-4294-8f64-4d367919d665" ]
    }

响应示例

状态码: 200

OK

{
  "targets" : [ {
    "target" : "e495cf17-ff79-4294-8f64-4d367919d665",
    "status" : "failure",
    "error_code" : "IOTDA.014219",
    "error_msg" : "Invalid input. The target is not in the task"
  }, {
    "target" : "e495cf17-ff79-4294-8f64-4d367919d677",
    "status" : "success"
  } ]
}

状态码

状态码

描述

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

500

Internal Server Error

错误码

请参见错误码