Retry OTA Task¶
重试OTA job中指定的某个设备的OTA升级task。
操作权限¶
需授权的资源 |
所需操作权限 |
---|---|
设备管理 |
Full Access |
请求格式¶
POST https://{apigw-address}/connect-service/v2.1/ota-jobs?action=retryTask
请求参数(URI)¶
名称 |
位置(Path/Query) |
必需/可选 |
数据类型 |
描述 |
---|---|---|---|---|
orgId |
Query |
必需 |
String |
资产所属的组织ID。如何获取orgId信息>> |
jobId |
Query |
必需 |
String |
OTA task所在的OTA job ID。 |
请求参数(Body)¶
名称 |
必需/可选 |
数据类型 |
描述 |
---|---|---|---|
deviceKeys |
必需 |
String数组 |
需要重试的设备的device key列表。 |
错误码¶
代码 |
错误信息 |
描述 |
---|---|---|
24404 |
Job not found |
找不到OTA job。 |
24617 |
Job not running |
OTA job未运行,无法重试。 |
24621 |
Only failed tasks can be retried |
只能重试失败的OTA job。 |
示例¶
请求示例¶
url: https://{apigw-address}/connect-service/v2.1/ota-jobs?action=retryTask&orgId=yourOrgId&jobId=yourJobId
method: POST
requestBody: {"deviceKeys":["deviceKey1","deviceKey2"]}
返回示例¶
{
"code":0,
"msg":"OK",
"requestId":"8e5d4643-1d13-4dd1-8896-e407f16381df",
"data":null
}
Java SDK调用示例¶
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.RetryTaskRequest;
import com.envisioniot.enos.connect_service.v2_1.ota.job.task.RetryTaskResponse;
import com.google.common.collect.ImmutableSet;
public class RetryTask {
public static void main(String[] args) {
final String appKey = "yourAppKey";
final String appSecret = "yourAppSecret";
String serverUrl = "yourServerUrl";
String orgId = "yourOrgId";
String jobId = "yourobId";
RetryTaskRequest request = new RetryTaskRequest();
request.setOrgId(orgId);
request.setJobId(jobId);
request.setDeviceKeys(ImmutableSet.of("deviceKey1","deviceKey2"));
RetryTaskResponse response = Poseidon
.config(PConfig.init().appKey(appKey).appSecret(appSecret).debug())
.url(serverUrl)
.getResponse(request, RetryTaskResponse.class);
}
}