Tous les produits
Search
Centre de documentation

IoT Platform:CreateOTADynamicUpgradeJob

Dernière mise à jour :Aug 10, 2026

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).

Remarque

Les utilisateurs RAM (Resource Access Management) d'un compte Alibaba Cloud partagent le quota de ce compte.

Débogage

OpenAPI Explorer calcule automatiquement la valeur de signature. Nous vous recommandons d'utiliser OpenAPI Explorer pour appeler cette opération. OpenAPI Explorer génère dynamiquement des exemples de code pour différents SDK.

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
  • Si votre instance possède un ID, vous devez le spécifier pour ce paramètre. À défaut, l'appel échouera.

  • Si aucun ID n'a été généré pour votre instance, il n'est pas nécessaire de configurer ce paramètre.

Pour plus d'informations, consultez Aperçu.

SrcVersion.N

RepeatList

Non

V1.0.1

Liste des versions de firmware à mettre à jour.

  • Si vous spécifiez ce paramètre, ne renseignez pas les paramètres GroupId et GroupType.

  • Si vous ne spécifiez pas ce paramètre, vous devez renseigner les paramètres GroupId et GroupType.

Remarque
  • Si vous utilisez des packages de mise à jour différentielle pour exécuter des tâches de mise à jour dynamique basées sur les versions, la valeur de ce paramètre doit être identique à celle de SrcVersion.

    Si vous utilisez des packages de mise à jour différentielle pour exécuter des tâches de mise à jour dynamique sur des groupes dynamiques, il n'est pas nécessaire de spécifier ce paramètre.

  • Appelez l'opération QueryDeviceDetail et consultez le paramètre FirmwareVersion dans la réponse.

  • Les numéros de version doivent être uniques dans la liste.

  • Vous pouvez spécifier au maximum 30 numéros de version.

RetryInterval

Integer

Non

60

Intervalle de nouvelle tentative automatique si la mise à jour d'un appareil échoue. Unité : minutes. Valeurs valides :

  • 0 : Une nouvelle tentative est effectuée immédiatement.

  • 10 : Une nouvelle tentative est effectuée après 10 minutes.

  • 30 : Une nouvelle tentative est effectuée après 30 minutes.

  • 60 : Une nouvelle tentative est effectuée après 60 minutes (1 heure).

  • 1440 : Une nouvelle tentative est effectuée après 1 440 minutes (24 heures).

Important

La valeur du paramètre RetryInterval doit être inférieure à celle du paramètre TimeoutInMinutes. Exemples :

  • Si la valeur du paramètre TimeoutInMinutes est définie sur 60, la valeur maximale du paramètre RetryInterval est 30.

  • Si la valeur du paramètre TimeoutInMinutes est définie sur 1440, la valeur maximale du paramètre RetryInterval est 60.

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 :

  • 1 : une nouvelle tentative.

  • 2 : deux nouvelles tentatives.

  • 5 : cinq nouvelles tentatives.

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
  • Le délai d'expiration commence lorsque l'appareil spécifié soumet la progression de la mise à jour pour la première fois. Pendant la mise à jour, le package peut être envoyé plusieurs fois à l'appareil en raison de ses connexions et déconnexions répétées. L'heure de début de la période de mise à jour reste inchangée.

  • En cas d'échec de la mise à jour dû à un dépassement de délai, aucune nouvelle tentative n'est déclenchée.

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 :

  • 1 : La tâche de mise à jour précédente n'est pas remplacée. Si un appareil dispose déjà d'une tâche de mise à jour, la tâche précédente est exécutée.

  • 2 : La tâche de mise à jour précédente est remplacée. Seule la tâche de mise à jour actuelle est exécutée. Dans ce cas, vous ne pouvez pas définir MultiModuleMode sur true.

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 :

  • 1 : met constamment à jour les appareils qui répondent aux conditions.

  • 2 : met à jour uniquement les appareils qui soumettent ensuite les dernières versions de firmware.

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 :

  • true : Après la création d'un lot de mise à jour, IoT Platform envoie automatiquement les tâches de mise à jour aux appareils en ligne spécifiés.

    Dans ce cas, un appareil peut toujours initier une demande pour obtenir les informations sur la tâche de mise à jour OTA depuis IoT Platform.

  • false : Un appareil doit initier une demande pour obtenir les informations sur la tâche de mise à jour OTA depuis IoT Platform.

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 :

  • false : Un appareil obtient les informations sur la tâche de mise à jour OTA en fonction du paramètre NeedPush.

  • true : Pour effectuer une mise à jour OTA sur un appareil, vous devez confirmer la mise à jour via votre application mobile. Ensuite, l'appareil peut obtenir les informations sur la tâche de mise à jour OTA en fonction du paramètre NeedPush.

GroupId

String

Non

IwOwQj7DJ***

ID du groupe.

  • Si vous spécifiez ce paramètre, vous devez également renseigner le paramètre GroupType. Dans ce cas, ne spécifiez pas le paramètre SrcVersion.N.

  • Si vous ne spécifiez pas ce paramètre, il n'est pas nécessaire de renseigner le paramètre GroupType. Dans ce cas, vous devez spécifier le paramètre SrcVersion.N.

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.

  • Si vous spécifiez ce paramètre, vous devez également renseigner le paramètre GroupId. Dans ce cas, ne spécifiez pas le paramètre SrcVersion.N.

  • Si vous ne spécifiez pas ce paramètre, il n'est pas nécessaire de renseigner le paramètre GroupId. Dans ce cas, vous devez spécifier le paramètre SrcVersion.N.

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 :

  • Votre service doit être déployé dans la région Chine (Shanghai).

  • Le package de mise à jour OTA ne peut contenir qu'un seul fichier, dont la taille ne doit pas dépasser 16 Mo.

  • Vous devez utiliser la dernière version du Link SDK for C pour développer les fonctionnalités de l'appareil afin d'effectuer des mises à jour OTA et télécharger des fichiers via MQTT. Pour plus d'informations, consultez Exemple de code.

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 :

  • false

  • true : Dans ce cas, ne définissez pas OverwriteMode sur 2.

    Les tâches de mise à jour pour le même module sont remplacées. Les tâches de mise à jour en cours ne sont pas remplacées. Les tâches de mise à jour des modules n'ont pas d'incidence les unes sur les autres.

Important
  • Prises en charges uniquement par les instances Enterprise Edition et les nouvelles instances publiques.

  • Vous devez utiliser Link SDK for C 4.x pour développer l'appareil.

  • Si vous lancez un lot de mise à jour dynamique basé sur un groupe, les paramètres MultiModuleMode et OverwriteMode doivent être identiques à ceux du lot de mise à jour dynamique existant du groupe.

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.

  • true : La requête a réussi.

  • false : La requête a échoué.

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.