生成OTA升级包文件的URL后,调用该接口创建设备的OTA升级包。
使用说明
在调用此接口创建升级包前,已调用GenerateOTAUploadURL生成升级包上传信息,并已调用OSS PostObject接口上传了升级包文件。
使用限制
单个实例下最多可有500个升级包。
QPS限制
单个阿里云账号调用该接口的每秒请求数(QPS)最大限制为10。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
请求参数
名称 | 类型 | 是否必选 | 示例值 | 描述 |
Action | String | 是 | CreateOTAFirmware | 系统规定参数。取值:CreateOTAFirmware。 |
DestVersion | String | 是 | 2.0.0 | 当前OTA升级包的版本号,仅支持英文字母、数字、半角句号(.)、短划线(-)和下划线(_)。长度限制为1~64个字符。 |
FirmwareName | String | 是 | Firmware2 | OTA升级包名称,需在阿里云账号下唯一,创建后不可修改。支持中文、英文字母、日文、数字、短划线(-)、下划线(_)和半角圆括号(()),必须以中文、英文、日文或数字开头,长度限制为1~40个字符。 |
IotInstanceId | String | 否 | iot-cn-0pp1n8t**** | 实例ID。您可在物联网平台控制台的实例概览页面,查看当前实例的ID。 重要
|
FirmwareUrl | String | 否 | https://iotx-ota.oss-cn-shanghai.aliyuncs.com/ota/bcd6142594d0183a16d825ad8225****/A6B3400B70CA4D6D872160D1A91A****.bin | OTA升级包文件的URL,即升级包文件在对象存储(OSS)上的存储地址。您可调用GenerateOTAUploadURL生成升级包文件的URL。 重要 仅当OTA升级包中添加一个文件时,才可传入此参数,且必须传入。 |
FirmwareSign | String | 否 | 93230c3bde425a9d7984a594ac55**** | OTA升级包文件的签名值。使用SignMethod值(SHA256或MD5)对升级包文件内容加签计算得出的值。 重要 仅当OTA升级包中添加一个文件时,才可传入此参数。若不传入,则采用对象存储(OSS)中升级包文件的MD5值作为升级包签名值。 |
SignMethod | String | 否 | MD5 | OTA升级包签名方法。取值:
|
FirmwareSize | Integer | 否 | 900 | OTA升级包文件的大小,单位:字节。 重要 仅当OTA升级包中添加一个文件时,才可传入此参数。若不传入,则采用对象存储(OSS)中升级包文件的大小。 |
ProductKey | String | 否 | a1uctKe**** | OTA升级包所属产品的ProductKey。 |
FirmwareDesc | String | 否 | OTA function updated | OTA升级包描述。长度不可超过100个字符。一个中文汉字算一个字符。 |
Type | Integer | 否 | 0 | OTA升级包类型。可选:
不传入此参数,则默认值为0。 |
SrcVersion | String | 否 | 1.0.0 | 待升级OTA模块版本号,即待升级设备的当前OTA模块版本号。 可以调用QueryDeviceDetail,查看设备OTA模块版本号(FirmwareVersion)。 说明
|
ModuleName | String | 否 | WifiConfigModify | OTA模块名称。OTA模块是同产品下设备的不同可升级模块。 说明
|
NeedToVerify | Boolean | 否 | true | 是否需要在创建批量升级任务前通过升级包验证。
|
Udi | String | 否 | {"ota_notice":"升级底层摄像头驱动,解决视频图像模糊的问题。"} | 推送给设备的自定义信息。不限制文本内容格式,长度不超过4096个字符。 添加该升级包完成,并创建升级任务后,物联网平台向设备推送升级通知时,会将该自定义信息下发给设备。 |
MultiFiles.N.Name | String | 否 | Firmware1 | OTA升级包文件名称,长度限制为1~32个字符。支持最多添加20个文件名称,且多个升级包文件的名称不能重复。 重要 OTA升级包中添加多个升级包文件时,必须传入此参数。 |
MultiFiles.N.Size | Integer | 否 | 200 | OTA升级包文件的大小,单位:字节。 说明 OTA升级包中添加多个升级包文件时,可传入此参数。若不传入,则采用对象存储(OSS)中升级包文件的大小。 |
MultiFiles.N.Url | String | 否 | https://iotx-ota.oss-cn-shanghai.aliyuncs.com/ota/bcd6142594d0183a16d825ad8225****/A6B3400B70CA4D6D872160D1A91A****.bin | OTA升级包文件的URL,即升级包文件在对象存储(OSS)上的存储地址。您可调用GenerateOTAUploadURL为每个升级包文件生成文件URL。 重要 OTA升级包中添加多个升级包文件时,必须传入此参数。 |
MultiFiles.N.SignValue | String | 否 | 93230c3bde425a9d7984a594ac45**** | OTA升级包文件的签名值。使用SignMethod对升级包文件内容加签计算得出的值。 说明 OTA升级包中添加多个升级包文件时,可传入此参数。若不传入,则采用对象存储(OSS)中升级包文件的MD5值作为升级包签名值。 |
MultiFiles.N.FileMd5 | String | 否 | 93230c3bde425a9d7984a594ac56*** | OTA升级包文件的MD5值。 说明 OTA升级包中添加多个升级包文件时,可传入此参数。若不传入,则采用对象存储(OSS)中升级包文件的MD5值。 |
调用API时,除了本文介绍的该API的特有请求参数,还需传入公共请求参数。公共请求参数说明,请参见公共参数文档。
返回数据
名称 | 类型 | 示例值 | 描述 |
Code | String | iot.system.SystemException | 调用失败时,返回的错误码。更多信息,请参见错误码。 |
Data | Struct | 调用成功时,返回的升级包信息。更多信息,请参见Data下参数描述。 |
|
FirmwareId | String | s8SSHiKjpBfrM3BSN0z803**** | OTA升级包ID,物联网平台为升级包颁发的唯一标识符。 |
UtcCreate | String | 2019-11-04T06:21:54.607Z | OTA升级包的创建时间,UTC格式。 |
ErrorMessage | String | 系统异常 | 调用失败时,返回的出错信息。 |
RequestId | String | 291438BA-6E10-4C4C-B761-243B9A0D324F | 阿里云为该请求生成的唯一标识符。 |
Success | Boolean | true | 是否调用成功。
|
示例
请求示例
https://iot.cn-shanghai.aliyuncs.com/?Action=CreateOTAFirmware
&ProductKey=a1uctKe****
&FirmwareName=Firmware2
&DestVersion=2.0.0
&FirmwareUrl=https%3A%2F%2iotx-ota.oss-cn-shanghai.aliyuncs.com%2Fota%2F****%2F****.bin
&SignMethod=MD5
&FirmwareSign=93230c3bde425a9d7984a594ac55****
&FirmwareSize=900
&FirmwareDesc=OTA function updated
&Type=0
&ModuleName=WifiConfigModify
&<公共请求参数>
正常返回示例
XML
格式
<CreateOTAFirmwareResponse>
<Data>
<FirmwareId>s8SSHiKjpBfrM3BSN0z803****</FirmwareId>
<UtcCreate>2019-11-04T06:21:54.607Z</UtcCreate>
</Data>
<RequestId>E4BD5A12-7C1D-4712-A7D5-B2432331165E</RequestId>
<Success>true</Success>
</CreateOTAFirmwareResponse>
JSON
格式
{
"Data": {
"FirmwareId": "s8SSHiKjpBfrM3BSN0z803****",
"UtcCreate": "2019-11-04T06:21:54.607Z"
},
"RequestId": "291438BA-6E10-4C4C-B761-243B9A0D324F",
"Success": true
}
错误码
访问错误中心查看更多错误码。