静的アップデートバッチを作成します。
使用上の注意
- CreateOTAFirmware 操作の呼び出し時にアップデートパッケージの検証が不要であることを指定した場合、CreateOTAStaticUpgradeJob 操作を呼び出してアップデートバッチを作成する前に、アップデートパッケージが検証されていることを確認する必要があります。 アップデートパッケージを検証するタスクの作成方法の詳細については、「CreateOTAVerifyJob」をご参照ください。
- 呼び出しごとに最大 200 台のデバイスのアップデートタスクを開始できます。 デバイスリストファイルを使用する場合は、最大 1,000,000 台のデバイスのアップデートタスクを開始できます。 ただし、GenerateDeviceNameListURL 操作を呼び出して、デバイスリストファイルの URL を生成する必要があります。 その後、指示に従ってデバイスリストファイルをアップロードできます。
- 複数のデバイスのアップデートタスクを開始すると、すでに宛先ファームウェアバージョンがインストールされているデバイスはスキップされます。
- 各デバイスは、1 つのアップデートタスクでのみ保留中またはアップデート中のステータスになることができます。 保留中またはアップデート中のステータスのデバイスに対して別のアップデートタスクを開始すると、アップデートタスクは失敗します。
- 1 つのアップデートパッケージを使用して、複数の静的アップデートバッチを作成できます。
- MQTT プロトコルを使用したアップデートパッケージのダウンロードは、中国 (上海) リージョンでのみサポートされています。
制限
Alibaba Cloud アカウントごとに、最大 20 クエリ/秒 (QPS) を実行できます。
デバッグ
リクエストパラメーター
パラメーター | タイプ | 必須 | 例 | 説明 |
Action | String | Yes | CreateOTAStaticUpgradeJob | 実行する操作。 値を CreateOTAStaticUpgradeJob に設定します。 |
FirmwareId | String | Yes | nx3xxVvFdwvn6dim50PY03**** | アップデートパッケージの ID。 CreateOTAFirmware 操作を呼び出してアップデートパッケージを作成すると、アップデートパッケージ ID が返されます。 ListOTAFirmware 操作を呼び出して ID を取得することもできます。 |
ProductKey | String | Yes | a1Le6d0**** | アップデートパッケージが属するプロダクトの ProductKey。 ProductKey は、IoT Platform におけるプロダクトの一意の識別子です。 IoT Platform コンソールで、または QueryProductList 操作を呼び出すことで、現在の Alibaba Cloud アカウント内のすべてのプロダクトに関する情報を表示できます。 |
Tag.N.Key | String | Yes | key1 | アップデートバッチタグのキー。 キーは 1 ~ 30 文字で、文字、数字、ピリオド (.) を使用できます。 アップデートバッチごとに最大 10 個のタグを追加できます。 アップデートバッチのタグは、IoT Platform がこれらのデバイスにアップデート通知をプッシュするときにデバイスに送信されます。 説明 アップデートバッチタグはオプションです。 タグを指定する場合は、Tag.N.Value パラメーターと Tag.N.Key パラメーターをペアで指定する必要があります。 |
Tag.N.Value | String | Yes | value1 | アップデートバッチタグの値。 値は 1 ~ 1,024 文字でなければなりません。 アップデートバッチごとに最大 10 個のタグを追加できます。 すべてのアップデートバッチのタグキーとタグ値の合計の長さは、4,096 文字を超えることはできません。 説明 アップデートバッチタグはオプションです。 タグを指定する場合は、Tag.N.Value パラメーターと Tag.N.Key パラメーターをペアで指定する必要があります。 |
TargetSelection | String | Yes | ALL | アップデートバッチの範囲。 有効な値:
|
IotInstanceId | String | No | iot-cn-0pp1n8t**** | インスタンスの ID。 インスタンスの ID は、IoT Platform コンソールの 概要 ページで確認できます。 重要
詳細については、「概要」をご参照ください。 |
SrcVersion.N | RepeatList | No | V1.0.1 | アップデート対象のファームウェアバージョンのリスト。 説明
|
ScheduleTime | Long | No | 1577808000000 | ファームウェアアップデート (OTA) を開始する時刻。 スケジュールされた時刻は、現在の時刻から 5 分後から 7 日後までです。 値は 13 桁のタイムスタンプである必要があります。 このパラメーターを指定しないと、アップデートはすぐに開始されます。 |
RetryInterval | Integer | No | 60 | デバイスのアップデートに失敗した場合の自動再試行間隔。 単位:分。 有効な値:
重要 RetryInterval パラメーターの値は、TimeoutInMinutes パラメーターの値よりも小さい必要があります。 例:
RetryInterval パラメーターの値が 1440 に設定されている場合は、TimeoutInMinutes パラメーターを指定しないことをお勧めします。 アップデートがタイムアウトした場合、再試行は実行されません。 このパラメーターを指定しないと、再試行は実行されません。 |
RetryCount | Integer | No | 1 | 自動再試行の回数。 RetryInterval パラメーターを指定する場合は、このパラメーターを指定する必要があります。 有効な値:
|
TimeoutInMinutes | Integer | No | 1440 | アップデートのタイムアウト期間。 指定された期間内にデバイスがアップデートされない場合、タイムアウトエラーが発生します。 単位:分。 有効な値:1 ~ 1440。 説明
このパラメーターを指定しないと、タイムアウトエラーは発生しません。 |
MaximumPerMinute | Integer | No | 1000 | アップデートパッケージのダウンロード URL が 1 分あたりにプッシュされるデバイスの最大数。 有効な値:10 ~ 10000。 デフォルト値:10000。 |
GrayPercent | String | No | 33.33 | 段階的アップデートの比率。 値は文字列形式のパーセンテージです。 最大 3 桁の少数まで使用できます。 計算されたデバイスの数は、最も近い整数に切り捨てられます。 段階的アップデートでは、少なくとも 1 つのデバイスを指定する必要があります。 たとえば、100 台のデバイスに対して段階的アップデートの比率を 33.33 に設定した場合、アップデートされるデバイスの数は 33 になります。 TargetSelection パラメーターを |
TargetDeviceName.N | RepeatList | No | deviceName1 | デバイス名のリスト。 説明
|
ScheduleFinishTime | Long | No | 1577909000000 | アップデートを終了する時刻。 終了時刻は、ScheduleTime パラメーターで指定された開始時刻の 1 時間後から 30 日後までである必要があります。 値は 13 桁のタイムスタンプである必要があります。 このパラメーターを指定しないと、アップデートは強制終了されません。 |
OverwriteMode | Integer | No | 1 | 以前のアップデートタスクを上書きするかどうかを指定します。 デフォルト値:1。 有効な値:
説明 進行中のアップデートタスクは上書きされません。 |
DnListFileUrl | String | No | https://iotx-ota.oss-cn-shanghai.aliyuncs.com/ota/65dfcda0473be29836dfde585472****/ck2nfzljo00023g7kysg0****.bin | 特定のアップデートを実行するために使用されるデバイスリストファイルの URL。 説明
|
NeedPush | Boolean | No | true | IoT Platform からデバイスにアップデートタスクを自動的にプッシュするかどうかを指定します。 デフォルト値:true。 有効な値:
|
NeedConfirm | Boolean | No | false | モバイルアプリを使用してアップデートを制御するかどうかを指定します。 必要に応じてモバイルアプリを開発する必要があります。 デフォルト false: true。 有効な値:
|
GroupId | String | No | CtjzCkNuOx*** | グループの ID。 TargetSelection パラメーターを QueryDeviceGroupList 操作を呼び出して、GroupId パラメーターをクエリできます。 |
GroupType | String | No | LINK_PLATFORM | グループのタイプ。 有効な値:LINK_PLATFORM。 TargetSelection パラメーターを |
DownloadProtocol | String | No | HTTPS | アップデートパッケージのダウンロードプロトコル。 有効な値:HTTPS および MQTT。 デフォルト値:HTTPS。 デバイスは、IoT Platform によってプッシュされたアップデートパッケージ情報を受信した後、このプロトコルを使用してアップデートパッケージをダウンロードします。 重要 MQTT 経由でアップデートパッケージをダウンロードする必要がある場合は、次の点に注意してください。
|
MultiModuleMode | Boolean | No | false | デバイスが複数モジュールの同時アップデートをサポートするかどうかを指定します。 デフォルト値:false。 有効な値:
重要
詳細については、「概要」をご参照ください。 |
上記の操作固有のリクエストパラメーターに加えて、この操作を呼び出す際には共通リクエストパラメーターを指定する必要があります。 詳細については、「共通パラメーター」をご参照ください。
レスポンスパラメーター
パラメーター | タイプ | 例 | 説明 |
Code | String | MissingFirmwareId | 呼び出しに失敗した場合に返されるエラーコード。 詳細については、「エラーコード」をご参照ください。 |
Data | Struct | 呼び出しが成功した場合に返されるアップデートバッチ情報。 詳細については、Data を参照してください。 |
|
JobId | String | wahVIzGkCMuAUE2gDERM02**** | アップデートバッチの一意の識別子。 |
UtcCreate | String | 2019-11-04T06:22:19.566Z | アップデートバッチが作成された時刻。 時刻は UTC で表示されます。 |
ErrorMessage | String | FirmwareId is mandatory for this action. | 呼び出しに失敗した場合に返されるエラーメッセージ。 |
RequestId | String | 29EC7245-0FA4-4BB6-B4F5-5F04818FDFB1 | リクエストの ID。 |
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
}
エラーコード
エラーコードのリストについては、「IoT Platform エラーコード」をご参照ください。