動的アップデートバッチを作成します。
使用方法
CreateOTAFirmware 操作を呼び出すときに、アップデートパッケージの検証が不要であることを指定できます。そうでない場合は、CreateOTADynamicUpgradeJob 操作を呼び出してアップデートバッチを作成する前に、アップデートパッケージが検証済みであることを確認する必要があります。アップデートパッケージを検証するタスクの作成方法の詳細については、「CreateOTAVerifyJob」をご参照ください。
各デバイスは、1 つのアップデートタスクでのみ保留中またはアップデート中のステータスになることができます。保留中またはアップデート中のステータスのデバイスに対して別のアップデートタスクを開始すると、アップデートタスクは失敗します。
各アップデートパッケージは、実行状態の動的アップデートタスクを 1 つだけ持つことができます。
デバイスが異なるアップデートパッケージの動的アップデートポリシーに含まれている場合、デバイスは最新の動的アップデートを実行します。
動的アップデートジョブが作成されると、システムは対応する動的アップデートポリシーを自動的に作成します。CancelOTAStrategyByJob 操作を呼び出して、動的アップデートポリシーをキャンセルできます。
中国 (上海) リージョンにあるデバイスのみが、MQTT プロトコルを介してアップデートパッケージをダウンロードできます。
QPS 制限
各 Alibaba Cloud アカウントは、最大 20 クエリ/秒 (QPS) を実行できます。
Alibaba Cloud アカウントの Resource Access Management (RAM) ユーザーは、アカウントのクォータを共有します。
デバッグ
リクエストパラメーター
パラメーター | タイプ | 必須 | 例 | 説明 |
Action | String | はい | CreateOTADynamicUpgradeJob | 実行する操作。値を CreateOTADynamicUpgradeJob に設定します。 |
FirmwareId | String | はい | nx3xxVvFdwvn6dim50PY03**** | アップデートパッケージの ID。 CreateOTAFirmware 操作を呼び出してアップデートパッケージを作成すると、アップデートパッケージ ID が返されます。 ListOTAFirmware 操作を呼び出して ID を取得することもできます。 |
ProductKey | String | はい | a1Le6d0**** | アップデートパッケージが属するプロダクトの ProductKey。 ProductKey は、IoT Platform におけるプロダクトの一意の識別子です。IoT Platform コンソールで、または QueryProductList 操作を呼び出すことで、現在の Alibaba Cloud アカウント内のすべてのプロダクトに関する情報を表示できます。 |
Tag.N.Key | String | はい | key1 | アップデートバッチタグのキー。キーは 1 ~ 30 文字で、文字、数字、ピリオド (.) を含めることができます。アップデートバッチごとに最大 10 個のタグを追加できます。 アップデートバッチのタグは、IoT Platform がこれらのデバイスにアップデート通知をプッシュするときにデバイスに送信されます。 説明 アップデートバッチタグはオプションです。タグを指定する場合は、Tag.N.Value パラメーターと Tag.N.Key パラメーターをペアで指定する必要があります。 |
Tag.N.Value | String | はい | value1 | アップデートバッチタグの値。値は 1 ~ 1,024 文字である必要があります。アップデートバッチごとに最大 10 個のタグを追加できます。すべてのアップデートバッチのタグキーとタグ値の合計の長さは、4,096 文字を超えることはできません。 説明 アップデートバッチタグはオプションです。タグを指定する場合は、Tag.N.Value パラメーターと Tag.N.Key パラメーターをペアで指定する必要があります。 |
IotInstanceId | String | いいえ | iot-cn-0pp1n8t**** | インスタンスの ID。インスタンスの ID は、IoT Platform コンソールの 概要 ページで確認できます。 重要
詳細については、「概要」をご参照ください。 |
SrcVersion.N | RepeatList | いいえ | V1.0.1 | アップデート対象のファームウェアバージョンのリスト。
説明
|
RetryInterval | Integer | いいえ | 60 | デバイスのアップデートに失敗した場合の自動再試行間隔。単位:分。有効な値:
重要 RetryInterval パラメーターの値は、TimeoutInMinutes パラメーターの値よりも小さい必要があります。例:
RetryInterval パラメーターの値が 1440 に設定されている場合は、TimeoutInMinutes パラメーターを指定しないことをお勧めします。アップデートがタイムアウトした場合、再試行は実行されません。 このパラメーターを指定しない場合、再試行は実行されません。 |
RetryCount | Integer | いいえ | 1 | 自動再試行回数。 RetryInterval パラメーターを指定する場合は、このパラメーターも指定する必要があります。 有効な値:
|
TimeoutInMinutes | Integer | いいえ | 1440 | アップデートのタイムアウト期間。指定された期間内にデバイスがアップデートされない場合、タイムアウトエラーが発生します。単位:分。有効な値:1 ~ 1440。 説明
このパラメーターを指定しない場合、タイムアウトエラーは発生しません。 |
MaximumPerMinute | Integer | いいえ | 1000 | アップデートパッケージのダウンロード URL が 1 分あたりにプッシュされるデバイスの最大数。有効な値:10 ~ 10000。 デフォルト値:10000。 |
OverwriteMode | Integer | いいえ | 2 | 以前のアップデートタスクを上書きするかどうかを指定します。デフォルト値:1。有効な値:
説明 進行中のアップデートタスクは上書きされません。 |
DynamicMode | Integer | いいえ | 1 | 動的アップデートのモード。デフォルト値:1。有効な値:
|
NeedPush | Boolean | いいえ | true | IoT Platform からデバイスにアップデートタスクを自動的にプッシュするかどうかを指定します。デフォルト値:true。有効な値:
|
NeedConfirm | Boolean | いいえ | false | モバイルアプリを使用してアップデートを制御するかどうかを指定します。必要に応じてモバイルアプリを開発する必要があります。デフォルト値:false。有効な値:
|
GroupId | String | いいえ | IwOwQj7DJ*** | グループの ID。
QueryDeviceGroupList 操作を呼び出して、GroupId パラメーターをクエリできます。 |
GroupType | String | いいえ | LINK_PLATFORM_DYNAMIC | グループのタイプ。有効な値:LINK_PLATFORM_DYNAMIC。
|
DownloadProtocol | String | いいえ | HTTPS | アップデートパッケージのダウンロードプロトコル。有効な値:HTTPS および MQTT。デフォルト値:HTTPS。デバイスは、IoT Platform によってプッシュされたアップデートパッケージ情報を受信した後、このプロトコルを使用してアップデートパッケージをダウンロードします。 重要 MQTT 経由でアップデートパッケージをダウンロードする必要がある場合は、次の点に注意してください。
|
MultiModuleMode | Boolean | いいえ | false | デバイスが複数のモジュールの同時アップデートをサポートするかどうかを指定します。デフォルト値:false。有効な値:
重要
詳細については、「概要」をご参照ください。 |
上記の操作固有のリクエストパラメーターに加えて、この操作を呼び出すときは、共通のリクエストパラメーターを指定する必要があります。詳細については、「共通パラメーター」をご参照ください。
レスポンスパラメーター
パラメーター | タイプ | 例 | 説明 |
Code | String | iot.system.SystemException | 呼び出しが失敗した場合に返されるエラーコード。詳細については、「エラーコード」をご参照ください。 |
Data | Struct | 呼び出しが成功した場合に返されるアップデートバッチ情報。詳細については、Data を参照してください。 | |
JobId | String | XUbmsMHmkqv0PiAG****010001 | アップデートバッチの一意の識別子。 |
UtcCreate | String | 2019-05-10T02:18:53.000Z | アップデートバッチが作成された時刻。時刻は UTC で表示されます。 |
ErrorMessage | String | システム例外が発生しました。 | 呼び出しが失敗した場合に返されるエラーメッセージ。 |
RequestId | String | 9F41D14E-CB5F-4CCE-939C-057F39E688F5 | リクエストの ID。 |
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
}エラーコード
エラーコードのリストについては、「サービスエラーコード」をご参照ください。