将固件文件上传到对象存储(OSS)后,调用该接口创建固件。

限制说明

  • 单个阿里云账号下最多可有500个固件。
  • 在调用此接口创建固件前,已调用GenerateOTAUploadURL生成了固件上传信息,并已调用OSS PostObject接口上传了固件文件。
  • 单阿里云账号调用该接口的每秒请求数(QPS)最大限制为10。
    说明 子账号共享主账号配额。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

请求参数

名称 类型 是否必选 示例值 描述
Action String CreateOTAFirmware

系统规定参数。取值:CreateOTAFirmware。

DestVersion String 2.0.0

当前固件的版本号,仅支持英文字母、数字、点号(.)、短划线(-)和下划线(_)。长度限制为1~64个字符。

FirmwareName String Firmware2

固件名称,仅支持中文汉字、英文字母、数字、短划线(-)、下划线(_)和圆括号()。长度限制为1~40个字符。

FirmwareUrl String https://iotx-ota.oss-cn-shanghai.aliyuncs.com/ota/bcd6142594d0183a16d825ad8225****/A6B3400B70CA4D6D872160D1A91A****.bin

固件的URL,即固件文件在对象存储(OSS)上的存储地址。调用GenerateOTAUploadURL生成固件上传信息,返回的参数。

IotInstanceId String iot_instc_pu****_c*-v64********

公共实例不传此参数;您购买的实例需传入实例ID。

FirmwareSign String 93230c3bde425a9d7984a594ac55****

固件签名值。使用SignMethod对固件文件内容加签计算得出的值。

不传入此参数,则采用对象存储(OSS)中固件文件的MD5值作为固件签名值。

SignMethod String MD5

固件签名方法。目前仅支持取值为MD5:MD5签名。

不传入此参数,默认为MD5

FirmwareSize Integer 900

固件大小,单位:字节。

不传入此参数,则采用对象存储(OSS)中固件文件的大小作为固件大小。

ProductKey String aluctKe****

固件所属产品的ProductKey。

FirmwareDesc String OTA function updated

固件描述。长度不可超过100个字符。一个中文汉字算一个字符。

Type Integer 0

固件类型。可选:

  • 0:整包固件,您上传的固件文件包含完整的固件,将推送整包固件给设备进行升级。
  • 1:差分固件,您上传的固件文件仅包含新版本固件与之前版本的差异部分,仅推送差异部分给设备进行升级。

不传入此参数,则默认值为0:整包固件。

SrcVersion String 1.0.0

待升级的固件版本号,即待升级设备的现有固件版本号。

可以调用QueryDeviceDetail,查看设备固件版本号(FirmwareVersion)。

说明
  • Type1(差分固件)时,必须传入该参数,且取值不能与当前固件版本(DestVersion)相同。
  • Type0(整包固件)时,可不传入该参数。
ModuleName String WifiConfigModify

固件模块名称。仅支持英文字母、数字、点号、短划线(-)和下划线(_)。长度限制为1~64个字符。

固件模块用于区分同产品下设备的不同模块的升级。

调用API时,除了本文介绍的该API的特有请求参数,还需传入公共请求参数。公共请求参数说明,请参见公共参数文档

返回数据

名称 类型 示例值 描述
Code String iot.system.SystemException

调用失败时,返回的错误码。错误码详情,请参见错误码

Data Struct

调用成功时,返回的固件信息。详情见以下Data。

FirmwareId String s8SSHiKjpBfrM3BSN0z803****

固件ID,物联网平台为固件颁发的唯一标识符。

UtcCreate String 2019-11-04T06:21:54.607Z

固件的创建时间,UTC格式。

ErrorMessage String 系统异常

调用失败时,返回的出错信息。

RequestId String 291438BA-6E10-4C4C-B761-243B9A0D324F

阿里云为该请求生成的唯一标识符。

Success Boolean true

是否调用成功。true表示调用成功,false表示调用失败。

示例

请求示例

https://iot.cn-shanghai.aliyuncs.com/?Action=CreateOTAFirmware
&ProductKey=aluctKe****
&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
}