调用该接口创建静态升级批次。
使用说明
- 若在调用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
}