Crée un lot de mise à jour dynamique.
Remarques sur l'utilisation
Lors de l'appel à l'opération CreateOTAFirmware, vous pouvez indiquer qu'aucune vérification du package de mise à jour n'est requise. Dans le cas contraire, assurez-vous que le package a été vérifié avant d'appeler l'opération CreateOTADynamicUpgradeJob 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 CreateOTAVerifyJob.
Un appareil ne peut se trouver dans l'état « en attente » ou « en cours de mise à jour » que pour une seule tâche. Si vous lancez une autre tâche de mise à jour pour un appareil déjà dans l'un de ces états, la nouvelle tâche échoue.
Chaque package de mise à jour ne peut avoir qu'une seule tâche de mise à jour dynamique en cours d'exécution.
Si un appareil est inclus dans les politiques de mise à jour dynamique de plusieurs packages, il effectue la dernière mise à jour dynamique.
Après la création d'une tâche de mise à jour dynamique, le système crée automatiquement la politique correspondante. Vous pouvez appeler l'opération CancelOTAStrategyByJob pour annuler une politique de mise à jour dynamique.
Seuls les appareils de la région Chine (Shanghai) peuvent télécharger des packages de mise à jour via le protocole MQTT.
Limites de QPS
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 | CreateOTADynamicUpgradeJob | Opération à effectuer. Définissez la valeur sur CreateOTADynamicUpgradeJob. |
FirmwareId | String | Oui | nx3xxVvFdwvn6dim50PY03**** | ID du package de mise à jour. L'ID du package de mise à jour est renvoyé lors de l'appel à l'opération CreateOTAFirmware pour créer le package. Vous pouvez également appeler l'opération ListOTAFirmware pour obtenir l'ID. |
ProductKey | String | Oui | a1Le6d0**** | ProductKey du produit auquel appartient le package de mise à jour. Le ProductKey est l'identifiant unique d'un produit dans IoT Platform. Vous pouvez afficher 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 | 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 | 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 valeurs de tag de tous les lots de mise à jour ne peut 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. |
IotInstanceId | String | Non | iot-cn-0pp1n8t**** | ID de l'instance. Vous pouvez consulter l'ID de l'instance sur la page Aperçu de la console IoT Platform. Important
Pour plus d'informations, consultez Aperçu. |
SrcVersion.N | RepeatList | Non | V1.0.1 | Liste des versions de firmware à mettre à jour.
Remarque
|
RetryInterval | Integer | Non | 60 | Intervalle de nouvelle tentative automatique si la mise à jour d'un appareil échoue. 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épassement du 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 | 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 | Délai d'expiration de la mise à jour. Si l'appareil n'est pas mis à jour dans le délai spécifié, une erreur de dépassement de délai se produit. Unité : minutes. Valeurs valides : 1 à 1440. Remarque
Si vous ne spécifiez pas ce paramètre, aucune erreur de dépassement de délai ne se produit. |
MaximumPerMinute | Integer | Non | 1000 | 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. |
OverwriteMode | Integer | Non | 2 | Indique s'il faut remplacer 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 n'est pas remplacée. |
DynamicMode | Integer | Non | 1 | Mode de mise à jour dynamique. Valeur par défaut : 1. Valeurs valides :
|
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 | IwOwQj7DJ*** | ID du groupe.
Appelez l'opération QueryDeviceGroupList pour interroger le paramètre GroupId. |
GroupType | String | Non | LINK_PLATFORM_DYNAMIC | Type du groupe. Valeur valide : LINK_PLATFORM_DYNAMIC.
|
DownloadProtocol | String | Non | HTTPS | 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 Aperçu. |
Outre les paramètres de requête spécifiques à l'opération présentés ci-dessus, vous devez spécifier les paramètres de requête communs lors de l'appel de cette opération. Pour plus d'informations, consultez Paramètres communs.
Paramètres de réponse
Paramètre | Type | Exemple | Description |
Code | String | iot.system.SystemException | Code d'erreur renvoyé en cas d'échec de l'appel. Pour plus d'informations, consultez Codes d'erreur. |
Data | Struct | 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 | XUbmsMHmkqv0PiAG****010001 | Identifiant unique du lot de mise à jour. |
UtcCreate | String | 2019-05-10T02:18:53.000Z | Heure de création du lot de mise à jour. L'heure est affichée au format UTC. |
ErrorMessage | String | Une exception système s'est produite. | Message d'erreur renvoyé en cas d'échec de l'appel. |
RequestId | String | 9F41D14E-CB5F-4CCE-939C-057F39E688F5 | ID de la requête. |
Success | Boolean | true | Indique si l'appel a réussi.
|
Exemples
Exemple de requête
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
&<Common request parameters>
Exemple de réponse réussie
Format 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>
Format JSON
{
"Data": {
"JobId": "XUbmsMHmkqv0PiAG****010001",
"UtcCreate": "2019-05-10T02:18:53.000Z"
},
"RequestId": "9F41D14E-CB5F-4CCE-939C-057F39E688F5",
"Success": true
}
Codes d'erreur
Pour obtenir la liste des codes d'erreur, consultez les Codes d'erreur du service.