Cancel OTA Task¶
Cancel OTA tasks under the specified OTA job.
Operation Permissions¶
Required Authorization | Required Operation Permission |
---|---|
Device Management | Full Access |
Request Format¶
POST https://{apigw-address}/connect-service/v2.1/ota-jobs?action=cancelTask
Request Parameters (URI)¶
Name | Location (Path/Query) | Mandatory/Optional | Data Type | Description |
---|---|---|---|---|
orgId | Query | Mandatory | String | The organization ID which the asset belongs to. How to get orgId>> |
jobId | Query | Mandatory | String | The job ID. |
Request Parameters (Body)¶
Name | Mandatory/Optional | Data Type | Description |
---|---|---|---|
deviceKeys | Mandatory | String Array | The list of device keys for canceling the OTA task. |
Error Codes¶
Code | Message | Description |
---|---|---|
24404 | Job not found | The job cannot be found. |
24617 | Job not running | The task cannot be canceled as it is not running. |
24620 | Only init or published tasks can be canceled | Only init or published tasks can be canceled. |
Samples¶
Request Sample¶
url: https://{apigw-address}/connect-service/v2.1/ota-jobs?action=cancelTask&orgId=yourOrgId&jobId=yourJobId
method: POST
requestBody: {"deviceKeys":["deviceKey1","deviceKey2"]}
Return Sample¶
{
"code":0,
"msg":"OK",
"requestId":"3bdf31b4-e357-4d4c-8cf9-a40dc129a407",
"data":null
}
Java SDK Sample¶
package com.envisioniot.enos.connect_service.ota.job;
import com.envision.apim.poseidon.config.PConfig;
import com.envision.apim.poseidon.core.Poseidon;
import com.envisioniot.enos.connect_service.v2_1.ota.job.task.CancelTaskRequest;
import com.envisioniot.enos.connect_service.v2_1.ota.job.task.CancelTaskResponse;
import com.google.common.collect.ImmutableSet;
public class CancelTask {
public static void main(String[] args) {
final String appKey = "yourAppKey";
final String appSecret = "yourAppSecret";
String serverUrl = "yourServerUrl";
String orgId = "yourOrgId";
String jobId = "yourJobId";
CancelTaskRequest request = new CancelTaskRequest();
request.setOrgId(orgId);
request.setJobId(jobId);
request.setDeviceKeys(ImmutableSet.of("deviceKey1","deviceKey2"));
CancelTaskResponse response = Poseidon
.config(PConfig.init().appKey(appKey).appSecret(appSecret).debug())
.url(serverUrl)
.getResponse(request, CancelTaskResponse.class);
}
}