調用該介面建立動態升級批次。
使用說明
- 若未在調用CreateOTAFirmware建立升級包時指定升級包無需驗證,則調用本介面建立批量升級批次前,必須保證升級包已驗證成功。建立驗證升級包任務,請參見CreateOTAVerifyJob。
- 同一裝置只能同時在一個升級批次中處於待升級或正在升級狀態。對處於待升級或正在升級狀態的裝置發起新的升級任務,後發起的任務會直接失敗。
- 同一升級包下,只能有一個狀態為執行中的動態升級批次。
- 如果同一個裝置處於不同升級包的動態升級策略中,則裝置執行最新發起的動態升級。
- 建立動態升級批次後,系統將自動建立對應的動態升級策略。可以調用CancelOTAStrategyByJob取消動態升級策略。
-
目前僅中國的華東2(上海)地區下,支援使用MQTT協議下載升級包。
QPS限制
單個阿里雲帳號調用該介面的每秒請求數(QPS)最大限制為20。
調試
您可以在OpenAPI Explorer中直接運行該介面,免去您計算簽名的困擾。運行成功後,OpenAPI Explorer可以自動產生SDK程式碼範例。
請求參數
|
名稱 |
類型 |
是否必選 |
樣本值 |
描述 |
| Action | String | 是 | CreateOTADynamicUpgradeJob | 系統規定參數。取值:CreateOTADynamicUpgradeJob。 |
| 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必須成對傳入。 |
| IotInstanceId | String | 否 | iot-cn-0pp1n8t**** | 執行個體ID。您可在物聯網平台控制台的執行個體概覽頁面,查看當前執行個體的ID。 重要
執行個體的更多資訊,請參見執行個體概述。 |
| SrcVersion.N | RepeatList | 否 | V1.0.1 | 待升級版本號碼列表。
說明
|
| 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。 |
| OverwriteMode | Integer | 否 | 2 | 是否覆蓋之前的升級任務。取值:
說明 不覆蓋升級中的任務。 |
| DynamicMode | Integer | 否 | 1 | 動態升級模式。取值範圍:
|
| NeedPush | Boolean | 否 | true | 物聯網平台是否主動向裝置推送升級任務。
|
| NeedConfirm | Boolean | 否 | false | 如需自主控制裝置OTA升級時,可配置此參數,通過手機App來控制,裝置是否可進行OTA升級。手機App需您自行開發。
|
| GroupId | String | 否 | IwOwQj7DJ*** | 分組ID。
您可調用QueryDeviceGroupList介面查詢分組ID(GroupId)。 |
| GroupType | String | 否 | LINK_PLATFORM_DYNAMIC | 分組類型,僅可取值LINK_PLATFORM_DYNAMIC(動態分組)。
|
| DownloadProtocol | String | 否 | HTTPS | 升級包下載協議,可選:HTTPS(預設)或MQTT。裝置端收到物聯網平台推送的升級包下載資訊後,通過該協議下載升級包。 重要 使用MQTT協議下載升級包,必須符合以下條件:
|
| MultiModuleMode | Boolean | 否 | false | 裝置是否支援多模組同時升級。
重要
更多資訊,請參見裝置支援多模組同時升級說明表。 |
調用API時,除了本文介紹的該API的特有請求參數,還需傳入公用請求參數。公用請求參數說明,請參見公用參數文檔。
返回資料
名稱 |
類型 |
樣本值 |
描述 |
| Code | String | iot.system.SystemException | 調用失敗時,返回的錯誤碼。更多資訊,請參見錯誤碼。 |
| Data | Struct | 調用成功時,返回的升級批次資訊。詳情見以下Data包含的參數。 |
|
| JobId | String | XUbmsMHmkqv0PiAG****010001 | 升級批次ID,升級批次的唯一識別碼。 |
| UtcCreate | String | 2019-05-10T02:18:53.000Z | 升級批次的建立時間,UTC格式。 |
| ErrorMessage | String | 系統異常 | 調用失敗時,返回的出錯資訊。 |
| RequestId | String | 9F41D14E-CB5F-4CCE-939C-057F39E688F5 | 阿里雲為該請求產生的唯一識別碼。 |
| Success | Boolean | true | 表示是否調用成功。
|
樣本
請求樣本
http(s)://iot.cn-shanghai.aliyuncs.com/?Action=CreateOTADynamicUpgradeJob
&FirmwareId=nx3xxVvFdwvn6dim50PY03****
&ProductKey=a1Le6d0****
&Tag.1.Key=key1
&Tag.1.Value=value1
&MaximumPerMinute=1000
&RetryCount=1
&RetryInterval=60
&TimeoutInMinutes=1440
&SrcVersion.1=V1.0.1
&OverwriteMode=2
&<公用請求參數>
正常返回樣本
XML格式
<CreateOTADynamicUpgradeJobResponse>
<Data>
<JobId>wahVIzGkCMuAUE2gDERM02****</JobId>
<UtcCreate>2019-11-04T06:22:19.566Z</UtcCreate>
</Data>
<RequestId>29EC7245-0FA4-4BB6-B4F5-5F04818FDFB1</RequestId>
<Success>true</Success>
</CreateOTADynamicUpgradeJobResponse>
JSON格式
{
"Data": {
"JobId": "XUbmsMHmkqv0PiAG****010001",
"UtcCreate": "2019-05-10T02:18:53.000Z"
},
"RequestId": "9F41D14E-CB5F-4CCE-939C-057F39E688F5",
"Success": true
}
錯誤碼
訪問錯誤中心查看更多錯誤碼。