调用该接口创建静态升级批次。
使用说明
- 若在调用CreateOTAFirmware接口创建升级包时,未指定“升级包可不通过验证”,则调用本接口创建批量升级批次前,必须保证升级包已验证成功。关于如何创建验证升级包任务,请参见CreateOTAVerifyJob。
- 单次调用,对于定向升级,若直接传入设备名称,则最多可对200个设备发起升级任务;若使用待升级设备列表文件,则最多可对1,000,000个设备发起升级任务,需提前调用GenerateDeviceNameListURL生成文件URL,并按说明上传设备列表文件。
- 对多个设备发起升级任务时,如果某设备已经是目标版本,则过滤该设备,继续升级任务。
- 同一设备只能同时在一个升级批次中处于待升级或正在升级状态。对处于待升级或正在升级状态的设备发起新的升级任务,后发起的任务会直接失败。
- 可以对单个升级包,同时发起多个静态升级批次。
- 当前仅中国的华东2(上海)、华北2(北京)和华南1(深圳)地域下,支持使用MQTT协议下载升级包。
QPS限制
单个阿里云账号调用该接口的每秒请求数(QPS)最大限制为20。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
请求参数
名称 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
Action | String | 是 | CreateOTAStaticUpgradeJob |
系统规定参数。取值:CreateOTAStaticUpgradeJob。 |
FirmwareId | String | 是 | nx3xxVvFdwvn6dim50PY03**** |
升级包ID,升级包的唯一标识符。 升级包ID是调用CreateOTAFirmware创建升级包时,返回的参数之一。 您也可以调用ListOTAFirmware接口,从返回参数中查看。 |
ProductKey | String | 是 | a1Le6d0**** |
升级包所属产品的ProductKey。 ProductKey是物联网平台为产品颁发的全局唯一标识符。您可以在物联网平台控制台或调用QueryProductList,查看当前账号下所有产品的信息。 |
Tag.N.Key | String | 是 | key1 |
批次标签key。仅支持英文字母、数字、半角句号(.),长度限制为1~30个字符。支持最多添加10个批次标签。 批次标签将在向设备推送升级通知时下发给设备。 说明 批次标签可以不传入。是否必选的是,表示如果传入批次标签Tag,Tag.N.Value与Tag.N.Key必须成对传入。
|
Tag.N.Value | String | 是 | value1 |
批次标签value。长度限制为1~1024个字符。支持最多添加10个批次标签。所有批次标签key和value的长度总和,不能超过4096个字符。 说明 批次标签可以不传入。是否必选的是,表示如果传入批次标签Tag,Tag.N.Value与Tag.N.Key必须成对传入。
|
TargetSelection | String | 是 | ALL |
升级范围。
|
IotInstanceId | String | 否 | iot-cn-0pp1n8t**** |
实例ID。您可在物联网平台控制台的实例概览页面,查看当前实例的ID。 重要
实例的更多信息,请参见实例概述。 |
SrcVersion.N | RepeatList | 否 | V1.0.1 |
待升级版本号列表。 说明
|
ScheduleTime | Long | 否 | 1577808000000 |
指定发起OTA升级的时间。 定时时间范围需为当前时间的5分钟后至7天内。取值为13位毫秒值时间戳。 不传入该参数,则表示立即升级。 |
RetryInterval | Integer | 否 | 60 |
设备升级失败后,自动重试的时间间隔,单位为分钟。可选值:
重要 RetryInterval的值需要小于TimeoutInMinutes的值。例如:
若RetryInterval需设置为24小时后重试,则建议不传入TimeoutInMinutes。因升级超时后,不会再触发升级重试。 不传入此参数,则表示不重试。 |
RetryCount | Integer | 否 | 1 |
自动重试次数。 如果传入RetryInterval参数,则需传入该参数。 可选值:
|
TimeoutInMinutes | Integer | 否 | 1440 |
设备升级超时时间,超过指定时间后,设备未完成升级,则升级失败。单位为分钟,取值范围为1~1,440。 说明
不传入该参数,则表示设备升级没有超时限制。 |
MaximumPerMinute | Integer | 否 | 1000 |
每分钟最多向多少个设备推送升级包下载URL。取值范围:10~10,000。 不传入该参数,则取默认值10,000。 |
GrayPercent | String | 否 | 33.33 |
设置灰度比例。取值为字符串格式的百分比,小数点后最多3位小数,系统计算结果向下取整。灰度升级的设备至少为1个。 例如有100个待升级设备,设置灰度升级的灰度比例为33.33,则系统计算结果为33。 升级范围指定为灰度升级( |
TargetDeviceName.N | RepeatList | 否 | deviceName1 |
定向升级的设备名称列表。 说明
|
ScheduleFinishTime | Long | 否 | 1577909000000 |
指定结束升级的时间。 结束时间距发起时间(ScheduleTime)最少1小时,最多为30天。取值为13位毫秒值时间戳。 不传入该参数,则表示不会强制结束升级。 |
OverwriteMode | Integer | 否 | 1 |
是否覆盖之前的升级任务。取值:
说明 不覆盖升级中的任务。
|
DnListFileUrl | String | 否 | https://iotx-ota.oss-cn-shanghai.aliyuncs.com/ota/65dfcda0473be29836dfde585472****/ck2nfzljo00023g7kysg0****.bin |
定向升级设备列表文件的URL。 说明
|
NeedPush | Boolean | 否 | true |
物联网平台是否主动向设备推送升级任务。
|
NeedConfirm | Boolean | 否 | false |
如需自主控制设备OTA升级时,可配置此参数,通过手机App来控制,设备是否可进行OTA升级。手机App需您自行开发。
|
GroupId | String | 否 | CtjzCkNuOx*** |
分组ID。 仅当发起分组升级( 您可调用QueryDeviceGroupList接口查询分组ID(GroupId)。 |
GroupType | String | 否 | LINK_PLATFORM |
分组类型,仅可取值LINK_PLATFORM。 仅当发起分组升级( |
DownloadProtocol | String | 否 | HTTPS |
升级包下载协议,可选:HTTPS(默认)或MQTT。设备端收到物联网平台推送的升级包下载信息后,通过该协议下载升级包。 重要 使用MQTT协议下载升级包,必须符合以下条件:
|
MultiModuleMode | Boolean | 否 | false |
设备是否支持多模块同时升级。
重要
更多信息,请参见设备支持多模块同时升级说明表。 |
调用API时,除了本文介绍的该API的特有请求参数,还需传入公共请求参数。公共请求参数说明,请参见公共参数文档。
返回数据
名称 | 类型 | 示例值 | 描述 |
---|---|---|---|
Code | String | MissingFirmwareId |
调用失败时,返回的错误码。更多信息,请参见错误码。 |
Data | Struct |
调用成功时,返回的升级批次信息。更多信息,请参见Data下参数说明。 |
|
JobId | String | wahVIzGkCMuAUE2gDERM02**** |
升级批次ID,升级批次的唯一标识符。 |
UtcCreate | String | 2019-11-04T06:22:19.566Z |
升级批次的创建时间,UTC格式。 |
ErrorMessage | String | FirmwareId is mandatory for this action. |
调用失败时,返回的出错信息。 |
RequestId | String | 29EC7245-0FA4-4BB6-B4F5-5F04818FDFB1 |
阿里云为该请求生成的唯一标识符。 |
Success | Boolean | true |
是否调用成功。
|
示例
请求示例
http(s)://iot.cn-shanghai.aliyuncs.com/?Action=CreateOTAStaticUpgradeJob
&FirmwareId=nx3xxVvFdwvn6dim50PY03****
&ProductKey=a1Le6d0****
&Tag.1.Key=key1
&Tag.1.Value=value1
&TargetSelection=ALL
&MaximumPerMinute=1000
&RetryCount=1
&RetryInterval=60
&TimeoutInMinutes=1440
&SrcVersion.1=V1.0.1
&<公共请求参数>
正常返回示例
XML
格式
<CreateOTAStaticUpgradeJobResponse>
<Data>
<JobId>wahVIzGkCMuAUE2gDERM02****</JobId>
<UtcCreate>2019-11-04T06:22:19.566Z</UtcCreate>
</Data>
<RequestId>29EC7245-0FA4-4BB6-B4F5-5F04818FDFB1</RequestId>
<Success>true</Success>
</CreateOTAStaticUpgradeJobResponse>
JSON
格式
{
"Data": {
"JobId": "wahVIzGkCMuAUE2gDERM02****",
"UtcCreate": "2019-11-04T06:22:19.566Z"
},
"RequestId": "29EC7245-0FA4-4BB6-B4F5-5F04818FDFB1",
"Success": true
}