创建软件升级任务
典型场景
若需要对设备进行软件版本升级,第三方应用可调用此接口为多个设备创建软件升级任务,升级前请确保目标版本包已上传到物联网平台。当前仅支持对NB-IoT设备进行软件版本升级。
接口功能
支持第三方应用在物联网平台为多个设备进行软件版本升级,当前仅支持对NB-IoT设备进行软件版本升级。
接口描述
1 |
def createSoftwareUpgradeTask(self, cutInDTO, accessToken)
|
参数说明
参数 |
必选/可选 |
类型 |
位置 |
描述 |
---|---|---|---|---|
cutInDTO |
必选 |
CreateUpgradeTaskInDTO |
body |
见下表CreateUpgradeTaskInDTO的描述。 |
accessToken |
必选 |
String |
header |
填写鉴权接口获取的accessToken。 |
CreateUpgradeTaskInDTO
参数 |
必选/可选 |
类型 |
位置 |
描述 |
---|---|---|---|---|
fileId |
必选 |
String |
body |
要升级的目标版本包ID。 |
targets |
必选 |
OperateDevices |
body |
要进行升级的目标,具体参见OperateDevices结构体。 |
policy |
可选 |
OperatePolicy |
body |
升级任务的执行策略,具体参见OperatePolicy结构体。 |
参数 |
必选/可选 |
类型 |
位置 |
描述 |
---|---|---|---|---|
deviceGroups |
可选 |
List<String> |
body |
设备组名称列表,最多支持“256”个设备组。 与指定设备列表方式二选一。 |
deviceType |
可选 |
String |
body |
设备类型。 指定设备组时,此字段必选。 |
model |
可选 |
String |
body |
设备型号。 指定设备组时,此字段必选。 |
manufacturerName |
可选 |
String |
body |
设备厂商名称。 指定设备组时,此字段必选。 |
devices |
可选 |
List<String> |
body |
设备ID列表,最多支持256个设备。 与指定设备组方式二选一。 |
参数 |
必选/可选 |
类型 |
位置 |
描述 |
---|---|---|---|---|
executeType |
必选 |
String |
body |
执行类型,默认值为“now”。
|
startTime |
可选 |
String |
body |
任务执行时间,executeType=custom时必选,时间格式:yyyyMMdd'T'HHmmss'Z',如:“20151212T121212Z”。 |
endTime |
可选 |
String |
body |
任务停止时间,executeType=custom时必选,时间格式:yyyyMMdd'T'HHmmss'Z',如:“20151212T121212Z”。 |
retryType |
可选 |
Boolean |
body |
执行失败是否进行重试,默认不重试。
|
retryTimes |
可选 |
Integer |
body |
重试次数, 取值范围1-5,retryType=true时必选。 |
响应参数
CreateUpgradeTaskOutDTO
参数 |
类型 |
描述 |
---|---|---|
operationId |
String |
操作任务ID。 |
错误码
Http状态码 |
错误码 |
错误描述 |
说明 |
---|---|---|---|
400 |
120015 |
Bad request error. |
请求错误。 处理建议:请检查请求参数的是否有误。 |
400 |
123016 |
The parameter is error, targetversion not match with device. |
参数不正确,目标版本与指定设备不匹配。 处理建议:请检查接口请求中deviceType、manufacturerName、model,与参数fileId指定的目标版本包信息是否一致。 |
400 |
123019 |
manufacturerName is null. |
厂商名称内容为空。 处理建议:请检查接口请求中的manufacturerName是否为空。 |
400 |
123020 |
deviceType is null |
设备类型内容为空。 处理建议:请检查接口请求中的deviceType是否为空。 |
400 |
123021 |
model is null. |
设备型号内容为空。 处理建议:请检查接口请求中的model是否为空。 |
400 |
123022 |
deviceGroups and devices cannot be null together |
deviceGroups和devices不能同时为空。 处理建议:deviceGroups与devices必须要选择一个进行赋值。 |
400 |
123023 |
deviceGroups and devices cannot be exist together |
deviceGroups和devices不能同时存在。 处理建议:deviceGroups与devices只能选择一个进行赋值。 |
400 |
123024 |
The number of deviceGroups or devices reached upper limit |
deviceGroups或devices内容数量达到上限。 处理建议:请检查deviceGroups或devices的内容,数量不能超过256个。 |
400 |
123025 |
executeType is error or can not to be null. |
executeType有误或不能为空。 处理建议:请检查接口请求中的executeType是否为空或者是否有误。 |
400 |
123026 |
startTime or endTime is null or error. |
startTime或endTime为空或有误。 处理建议:请检查接口请求中的startTime和endTime是否为空或者格式有误。 |
400 |
123028 |
retryTimes is null or beyond the limit. |
retryTimes为空或超出上限。 处理建议:请检查接口请求中的retryTimes是否为空,或者不能小于1或者大于5。 |
400 |
123032 |
startTime can not be later than the endTime. |
startTime的时间不能比endTime晚。 处理建议:请检查接口请求中的startTime是否晚于endTime。 |
400 |
123033 |
startTime can not be earlier than the now. |
startTime的时间不能比当前时间早。 处理建议:请检查接口请求中的startTime是否早于当前时间。 |
400 |
123034 |
endtime must be greater than 5 minutes. |
endtime要比startTime大5分钟。 处理建议:请检查接口请求中的startTime和endTime间隔时间必须大于5分钟。 |
403 |
1010009 |
app throttle exceed. |
应用调用接口过于频繁,超过流控值(默认值是100次/60s)。 处理建议:联系物联网平台维护人员调大流控阈值或者控制接口的调用频率。 |
403 |
1010005 |
App_key or access_token is invalid. |
错误的token信息。 处理建议:请检查接口请求中所携带的accessToken是否有误。 |
404 |
123002 |
Device or package file not found. |
设备或包不存在 处理建议:请检查接口请求中的fileId是否正确。 |