Querying Details About Subtasks of a Specified Task
Typical Scenario
After a device software or firmware upgrade task is created, the upgrade of each device involved in the task is a subtask (the number of subtasks is the same as that of the devices involved in the task). An NA can call this API to query details about subtasks of the upgrade task to check their execution status.
API Function
This API is used by an NA to query upgrade status of each device involved in a software or firmware upgrade task.
API Prototype
Method |
GET |
---|---|
URL |
https://server:port/iodm/northbound/v1.5.0/operations/{operationId}/subOperations?subOperationStatus={subOperationStatus}&pageNo={pageNo}&pageSize={pageSize} |
Transport Protocol |
HTTPS |
Request Parameters
Parameter |
Mandatory or Optional |
Type |
Location |
Description |
---|---|---|---|---|
app_key |
Mandatory |
String |
header |
Identifies an application that can be accessed on the IoT platform. The value of this parameter is allocated by the IoT platform when the application is created on the platform. |
Authorization |
Mandatory |
String |
header |
Indicates the authentication information for accessing the IoT platform. The value is Bearer {accessToken}, in which {accessToken} indicates the access token returned by the Authentication API. |
operationId |
Mandatory |
String |
path |
Identifies an operation task. The value of this parameter is returned by the IoT platform after the operation task is created. |
subOperationStatus |
Optional |
String |
query |
Indicates subtask status. If this parameter is not specified, execution details of all subtasks under the operation task are queried.
|
pageNo |
Optional |
Integer(>=0) |
query |
Indicates the page number to be queried. The value is an integer greater than or equal to 0. The default value is 0, indicating that the first page is queried. |
pageSize |
Optional |
Integer[1,100] |
query |
Indicates the number of records on each page. The value ranges from 1 to 100. The default value is 10. |
Response Parameters
Status Code: 200 OK
Parameter |
Type |
Description |
---|---|---|
data |
List<SubOperationInfo> |
Indicates information about a subtask list. |
pageNo |
Integer(>=0) |
Indicates the page number. |
pageSize |
Integer[1,100] |
Indicates the number of records to be displayed on each page. |
totalCount |
Integer(>=0) |
Indicates the total number of query results. |
Parameter |
Type |
Description |
---|---|---|
subOperationId |
String |
Identifies a subtask. |
createTime |
String |
Indicates the time when the subtask is created. The time format is yyyyMMdd'T'HHmmss'Z'. An example value is 20151212T121212Z. |
startTime |
String |
Indicates the time when the subtask is started. The time format is yyyyMMdd'T'HHmmss'Z'. An example value is 20151212T121212Z. |
stopTime |
String |
Indicates the time when the subtask is stopped. The time format is yyyyMMdd'T'HHmmss'Z'. An example value is 20151212T121212Z. |
operateType |
String |
Indicates the operation type.
|
deviceId |
String |
Uniquely identifies a device for which the subtasks are queried. The value of this parameter is allocated by the IoT platform during device registration. |
status |
String |
Indicates the subtask status.
|
detailInfo |
String |
Indicates detailed description of the subtask status. In case of a failure, the value of this parameter is the failure cause. |
extendPara |
Map<String, String> |
Indicates extended information of the subtask. The value of this parameter varies depending on the operation type. |
Request Example
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 Example
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 } } ] }
Error Code
HTTP Status Code |
Error Code |
Error Description |
Remarks |
---|---|---|---|
400 |
120015 |
Bad request error. |
A request error occurs. Recommended handling: Check whether the format of fileId carried in the API request is correct. |
400 |
123029 |
pageNo or pageSize beyond the limit. |
The value of pageNo or pageSize exceeds the upper limit. Recommended handling: Change the value of pageNo or pageSize to a valid value. |
403 |
1010009 |
app throttle exceed. |
The NA calls the API at a frequency that exceeds the flow control threshold (100 calls per minute by default). Recommended handling: Contact IoT platform maintenance personnel to adjust the flow control threshold or control the API call frequency. |
403 |
1010005 |
App_key or access_token is invalid. |
The access token is invalid. Recommended handling: Check whether accessToken carried in the API request is correct. |
404 |
123009 |
The requested task does not exist. |
The queried task does not exist. Recommended handling: Check whether operationId carried in the API request is correct. |
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot