Crée un lot de mise à jour statique.
Notes d'utilisation
Si vous spécifiez qu'un package de mise à jour ne nécessite pas de vérification lors de l'appel à l'opération CreateOTAFirmware, assurez-vous que le package est vérifié avant d'appeler l'opération CreateOTAStaticUpgradeJob pour créer un lot de mise à jour. Pour plus d'informations sur la création d'une tâche de vérification de package, consultez l'opération CreateOTAVerifyJob.
Vous pouvez initier des tâches de mise à jour pour un maximum de 200 appareils par appel. Si vous utilisez un fichier de liste d'appareils, vous pouvez initier des tâches pour un maximum de 1 000 000 d'appareils. Vous devez toutefois appeler l'opération GenerateDeviceNameListURL afin de générer une URL pour le fichier de liste d'appareils, puis suivre les instructions pour télécharger ce fichier.
Lorsque vous lancez des tâches de mise à jour pour plusieurs appareils, ceux qui possèdent déjà la version cible du firmware sont ignorés.
Un appareil ne peut être en attente ou en cours de mise à jour que dans une seule tâche. Si vous tentez de lancer une autre tâche de mise à jour pour un appareil déjà dans l'un de ces états, la nouvelle tâche échoue.
Il est possible de créer plusieurs lots de mise à jour statiques à partir d'un seul package de mise à jour.
Le téléchargement des packages de mise à jour via le protocole MQTT n'est pris en charge que dans les régions Chine (Shanghai), Chine (Pékin) et Chine (Shenzhen).
Limites
Chaque compte Alibaba Cloud peut effectuer un maximum de 20 requêtes par seconde (QPS).
Les utilisateurs RAM (Resource Access Management) d'un compte Alibaba Cloud partagent le quota de ce compte.
Débogage
Paramètres de requête
| Paramètre | Type | Obligatoire | Exemple | Description |
| Action | String | Oui | CreateOTAStaticUpgradeJob | L'opération que vous souhaitez effectuer. Définissez la valeur sur CreateOTAStaticUpgradeJob. |
| FirmwareId | String | Oui | nx3xxVvFdwvn6dim50PY03**** | L'ID du package de mise à jour. Un ID de package de mise à jour est renvoyé lorsque vous appelez l'opération CreateOTAFirmware pour créer le package. Vous pouvez également appeler l'opération ListOTAFirmware pour obtenir cet ID. |
| ProductKey | String | Oui | a1Le6d0**** | La ProductKey du produit auquel appartient le package de mise à jour. Une ProductKey est l'identifiant unique d'un produit dans IoT Platform. Vous pouvez consulter les informations sur tous les produits de votre compte Alibaba Cloud actuel dans la console IoT Platform ou en appelant l'opération QueryProductList. |
| Tag.N.Key | String | Oui | key1 | La clé du tag du lot de mise à jour. La clé doit comporter entre 1 et 30 caractères et peut contenir des lettres, des chiffres et des points (.). Vous pouvez ajouter jusqu'à 10 tags par lot de mise à jour. Les tags d'un lot de mise à jour sont envoyés aux appareils lorsque IoT Platform leur transmet les notifications de mise à jour. Remarque Les tags de lot de mise à jour sont facultatifs. Si vous souhaitez spécifier un tag, vous devez renseigner les paramètres Tag.N.Value et Tag.N.Key par paire. |
| Tag.N.Value | String | Oui | value1 | La valeur du tag du lot de mise à jour. La valeur doit comporter entre 1 et 1 024 caractères. Vous pouvez ajouter jusqu'à 10 tags par lot de mise à jour. La longueur totale des clés et des valeurs de tous les tags ne doit pas dépasser 4 096 caractères. Remarque Les tags de lot de mise à jour sont facultatifs. Si vous souhaitez spécifier un tag, vous devez renseigner les paramètres Tag.N.Value et Tag.N.Key par paire. |
| TargetSelection | String | Oui | ALL | La portée du lot de mise à jour. Valeurs valides :
|
| IotInstanceId | String | Non | iot-cn-0pp1n8t**** | L'ID de l'instance. Vous pouvez consulter l'ID d'une instance sur la page Overview de la console IoT Platform. Important
Pour plus d'informations, consultez la rubrique Overview. |
| SrcVersion.N | RepeatList | Non | V1.0.1 | La liste des versions de firmware à mettre à jour. Remarque
|
| ScheduleTime | Long | Non | 1577808000000 | L'heure de début de la mise à jour OTA (Over-The-Air). L'heure planifiée doit se situer entre 5 minutes et 7 jours après l'heure actuelle. La valeur doit être un horodatage de 13 chiffres. Si vous ne spécifiez pas ce paramètre, la mise à jour démarre immédiatement. |
| RetryInterval | Integer | Non | 60 | L'intervalle de nouvelle tentative automatique en cas d'échec de la mise à jour d'un appareil. Unité : minutes. Valeurs valides :
Important La valeur du paramètre RetryInterval doit être inférieure à celle du paramètre TimeoutInMinutes. Exemples :
Si la valeur du paramètre RetryInterval est définie sur 1440, nous vous recommandons de ne pas spécifier le paramètre TimeoutInMinutes. En cas de délai d'attente de la mise à jour, aucune nouvelle tentative n'est effectuée. Si vous ne spécifiez pas ce paramètre, aucune nouvelle tentative n'est effectuée. |
| RetryCount | Integer | Non | 1 | Le nombre de nouvelles tentatives automatiques. Si vous spécifiez le paramètre RetryInterval, vous devez également spécifier ce paramètre. Valeurs valides :
|
| TimeoutInMinutes | Integer | Non | 1440 | Le délai d'expiration de la mise à jour. Si l'appareil n'est pas mis à jour dans le délai imparti, une erreur de délai d'expiration se produit. Unité : minutes. Valeurs valides : 1 à 1440. Remarque
Si vous ne spécifiez pas ce paramètre, aucune erreur de délai d'expiration ne se produit. |
| MaximumPerMinute | Integer | Non | 1000 | Le nombre maximal d'appareils auxquels l'URL de téléchargement du package de mise à jour est envoyée par minute. Valeurs valides : 10 à 10000. Valeur par défaut : 10000. |
| GrayPercent | String | Non | 33,33 | Le ratio de la mise à jour progressive. La valeur est un pourcentage au format chaîne. Elle peut comporter jusqu'à trois décimales. Le nombre calculé d'appareils est arrondi à l'entier inférieur. Vous devez spécifier au moins un appareil pour une mise à jour progressive. Par exemple, si vous définissez le ratio de mise à jour progressive sur 33,33 pour 100 appareils, le nombre d'appareils à mettre à jour sera de 33. Vous devez spécifier ce paramètre si vous définissez le paramètre TargetSelection sur |
| TargetDeviceName.N | RepeatList | Non | deviceName1 | La liste des noms d'appareils. Remarque
|
| ScheduleFinishTime | Long | Non | 1577909000000 | L'heure de fin de la mise à jour. L'heure de fin doit se situer entre 1 heure et 30 jours après l'heure de début spécifiée par le paramètre ScheduleTime. La valeur doit être un horodatage de 13 chiffres. Si vous ne spécifiez pas ce paramètre, la mise à jour n'est pas arrêtée de force. |
| OverwriteMode | Integer | Non | 1 | Indique s'il faut écraser la tâche de mise à jour précédente. Valeur par défaut : 1. Valeurs valides :
Remarque La tâche de mise à jour en cours d'exécution n'est pas écrasée. |
| DnListFileUrl | String | Non | https://iotx-ota.oss-cn-shanghai.aliyuncs.com/ota/65dfcda0473be29836dfde585472****/ck2nfzljo00023g7kysg0****.bin | L'URL du fichier de liste d'appareils utilisé pour effectuer une mise à jour spécifique. Remarque
|
| NeedPush | Boolean | Non | true | Indique s'il faut envoyer automatiquement les tâches de mise à jour depuis IoT Platform vers les appareils. Valeur par défaut : true. Valeurs valides :
|
| NeedConfirm | Boolean | Non | false | Indique s'il faut contrôler la mise à jour via une application mobile. Vous devez développer l'application mobile selon vos besoins. Valeur par défaut : false. Valeurs valides :
|
| GroupId | String | Non | CtjzCkNuOx*** | L'ID du groupe. Si vous définissez le paramètre TargetSelection sur Vous pouvez appeler l'opération QueryDeviceGroupList pour interroger le paramètre GroupId. |
| GroupType | String | Non | LINK_PLATFORM | Le type de groupe. Valeur valide : LINK_PLATFORM. Si vous définissez le paramètre TargetSelection sur |
| DownloadProtocol | String | Non | HTTPS | Le protocole de téléchargement du package de mise à jour. Valeurs valides : HTTPS et MQTT. Valeur par défaut : HTTPS. Après réception des informations sur le package de mise à jour envoyées par IoT Platform, l'appareil utilise ce protocole pour télécharger le package. Important Si vous devez télécharger le package de mise à jour via MQTT, tenez compte des éléments suivants :
|
| MultiModuleMode | Boolean | Non | false | Indique si l'appareil prend en charge les mises à jour simultanées de plusieurs modules. Valeur par défaut : false. Valeurs valides :
Important
Pour plus d'informations, consultez la rubrique Overview. |
En plus des paramètres de requête spécifiques à l'opération mentionnés ci-dessus, vous devez spécifier les paramètres de requête communs lors de l'appel à cette opération. Pour plus d'informations, consultez la rubrique Paramètres communs.
Paramètres de réponse
| Paramètre | Type | Exemple | Description |
| Code | String | MissingFirmwareId | Le code d'erreur renvoyé en cas d'échec de l'appel. Pour plus d'informations, consultez la rubrique Codes d'erreur. |
| Data | Struct | Les informations sur le lot de mise à jour renvoyées en cas de succès de l'appel. Pour plus d'informations, consultez Data. |
|
| JobId | String | wahVIzGkCMuAUE2gDERM02**** | L'identifiant unique du lot de mise à jour. |
| UtcCreate | String | 2019-11-04T06:22:19.566Z | L'heure de création du lot de mise à jour. L'heure est affichée au format UTC. |
| ErrorMessage | String | FirmwareId is mandatory for this action. | Le message d'erreur renvoyé en cas d'échec de l'appel. |
| RequestId | String | 29EC7245-0FA4-4BB6-B4F5-5F04818FDFB1 | L'ID de la requête. |
| Success | Boolean | true | Indique si l'appel a réussi. Valeurs valides :
|
Exemples
Exemple de requête
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
&<Common request parameters>
Exemple de réponse réussie
XML format
<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 format
{
"Data": {
"JobId": "wahVIzGkCMuAUE2gDERM02****",
"UtcCreate": "2019-11-04T06:22:19.566Z"
},
"RequestId": "29EC7245-0FA4-4BB6-B4F5-5F04818FDFB1",
"Success": true
}
Codes d'erreur
Pour obtenir la liste des codes d'erreur, consultez la rubrique Codes d'erreur IoT Platform.