查询指定任务的子任务详情
典型场景
在创建了设备软件升级任务或固件升级任务后,任务中涉及的每个设备的升级是一个子任务(即升级任务中涉及多少个设备,就有多少个子任务)。应用服务器可调用此接口查询某个升级任务中各个子任务的详细信息,以查看子任务的具体执行情况。
接口功能
支持应用服务器在物联网平台查询单个固件或软件升级任务中每个设备的升级执行情况。
接口原型
请求方法 |
GET |
---|---|
请求地址 |
https://server:port/iodm/northbound/v1.5.0/operations/{operationId}/subOperations?subOperationStatus={subOperationStatus}&pageNo={pageNo}&pageSize={pageSize} |
传输协议 |
HTTPS |
请求参数
参数 |
必选/可选 |
类型 |
位置 |
描述 |
---|---|---|---|---|
app_key |
必选 |
String |
header |
访问物联网平台的应用ID,在物联网平台创建应用时由平台分配获得。 |
Authorization |
必选 |
String |
header |
访问物联网平台的认证信息,值为“Bearer {accessToken}”,其中{accessToken}为调用鉴权接口返回的accessToken。 |
operationId |
必选 |
String |
path |
操作任务ID,在创建操作任务后由物联网平台返回获得。 |
subOperationStatus |
可选 |
String |
query |
子任务状态,不指定,则查询该任务下所有子任务执行详情。
|
pageNo |
可选 |
Integer(>=0) |
query |
分页查询时指定要查询的页码信息,默认值为0,取值范围为大于等于0的整数,值为0时,查询第一页。 |
pageSize |
可选 |
Integer[1,100] |
query |
查询结果分页时的每页结果数量,取值范围1-100,默认值10。 |
响应参数
Status Code: 200 OK
参数 |
类型 |
描述 |
---|---|---|
data |
List<SubOperationInfo> |
子任务列表信息。 |
pageNo |
Integer(>=0) |
查询结果的页码。 |
pageSize |
Integer[1,100] |
查询结果每页的记录数量。 |
totalCount |
Integer(>=0) |
查询结果的记录总数。 |
参数 |
类型 |
描述 |
---|---|---|
subOperationId |
String |
子任务ID。 |
createTime |
String |
子任务创建时间,时间格式:yyyyMMdd'T'HHmmss'Z',如 20151212T121212Z。。 |
startTime |
String |
子任务启动时间,时间格式:yyyyMMdd'T'HHmmss'Z',如 20151212T121212Z。。 |
stopTime |
String |
子任务停止时间,时间格式:yyyyMMdd'T'HHmmss'Z',如 20151212T121212Z。。 |
operateType |
String |
操作类型。
|
deviceId |
String |
操作设备的设备ID,用于唯一标识一个设备,在注册设备时由物联网平台分配获得。 |
status |
String |
子任务状态。
|
detailInfo |
String |
任务状态的详细描述,对于失败场景下为失败原因。 |
extendPara |
Map<String, String> |
任务扩展信息,视不同类型的操作不同。 |
请求示例
Method: GET request: https://server:port/iodm/northbound/v1.5.0/operations/{operationId}/subOperations?subOperationStatus={subOperationStatus}&pageNo={pageNo}&pageSize={pageSize} Header: app_key: ****** Authorization: Bearer ****** Content-Type: application/json
响应示例
response: Status Code: 200 OK Content-Type: application/json Body: { "totalCount": 1, "pageNo": 0, "pageSize": 1, "date": [ { "subOperationId": "**********", "createTime": "20151212T121212Z", "startTime": "20151212T121212Z", "stopTime": null, "operateType": "software_upgrade", "deviceId": "**********", "status": "FAIL", "detailInfo": "The task failed to start, unable to find protocol service based on device information", "extendInfo": { "upgradeTime": null, "sourceVersion": null, "curVersion": "V1.1.10", "downloadTime": null, "targetVersion": null } } ] }
错误码
Http状态码 |
错误码 |
错误描述 |
说明 |
---|---|---|---|
400 |
120015 |
Bad request error. |
请求错误。 处理建议:请检查接口请求中fileId的格式是否正确。 |
400 |
123029 |
pageNo or pageSize beyond the limit. |
pageNo或pageSize超出上限。 处理建议:修改pageNo或pageSize为合法取值。 |
403 |
1010009 |
app throttle exceed. |
应用调用接口过于频繁,超过流控值(默认值是100次/60s)。 处理建议:联系物联网平台维护人员调大流控阈值或者控制接口的调用频率。 |
403 |
1010005 |
App_key or access_token is invalid. |
错误的token信息。 处理建议:请检查接口请求中所携带的accessToken是否有误。 |
404 |
123009 |
The requested task does not exist. |
查询的任务不存在。 处理建议:请检查接口请求中的operationId内容是否正确。 |