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);
    }
}