Partager via


Préparer l’importation d’une mise à jour dans Device Update

Cet article explique comment obtenir une nouvelle mise à jour et la préparer à l’importation dans Azure Device Update pour IoT Hub en créant un manifeste d’importation.

Prérequis

Conseil

Dans cet article, les commandes Azure CLI utilisent la barre oblique inverse pour la continuation de ligne afin que les arguments de commande soient plus faciles à lire. Cette syntaxe fonctionne dans les environnements Bash. Si vous exécutez ces commandes dans PowerShell, remplacez chaque barre oblique inverse par un signe inverse ` ou supprimez-les entièrement.

Obtenir les fichiers de mise à jour de votre appareil

Obtenez le fichier de mise à jour ou les fichiers à déployer sur votre appareil à l’aide de Device Update. Si vous avez acheté des appareils auprès d'un fabricant d'ordinateurs OEM ou d'un intégrateur de solutions, cet organisme fournit probablement des mises à jour sans que vous ayez à créer des fichiers de mise à jour. Contactez l’OEM ou l’intégrateur de solutions pour savoir comment il rend les mises à jour disponibles. Si votre organisation crée des logiciels pour vos appareils, elle crée également les mises à jour de ces logiciels.

Pour créer la mise à jour, choisissez le type de mise à jour basé sur l’image ou basé sur un package, en fonction de votre scénario.

Conseil

Vous pouvez essayer les basées sur des images, basées sur des packages, ou didacticiels de mise à jour proxy, ou simplement afficher des exemples de fichiers manifestes d’importation à partir de ces didacticiels pour référence.

Créer un manifeste d’importation Device Update de base

Une fois que vous avez vos fichiers de mise à jour et que vous connaissez les concepts d’importation de base Device Update, créez un manifeste d’importation pour décrire la mise à jour. Bien que vous puissiez créer manuellement un manifeste d’importation JSON à l’aide d’un éditeur de texte, Azure CLI az iot du init v5 commande simplifie le processus. Pour plus d’informations sur le schéma de manifeste d’importation, consultez schéma d’importation device Update et les informations d’API.

La commande az iot du init v5 prend les trois arguments suivants. Tous sont obligatoires, sauf --file, qui est dérivé de --step s’il n’est pas spécifié. Il existe une sensibilité positionnelle entre --step et --file.

  • Les paramètres --update-provider, --update-name, et --update-version définissent l'objet updateId qui est un identifiant unique pour chaque mise à jour.
  • L’objet de --compatcompatibilité est un ensemble de paires nom-valeur qui décrivent les propriétés d’un appareil avec lequel cette mise à jour est compatible. Vous pouvez utiliser un ensemble spécifique de propriétés de compatibilité avec une seule combinaison de fournisseurs et de noms.
  • Le paramètre --step spécifie la mise à jour handler sur l’appareil, par exemple microsoft/script:1, microsoft/swupdate:1ou microsoft/apt:1, et son properties associé pour cette mise à jour. Vous pouvez utiliser --step plusieurs fois.
  • Le paramètre --file spécifie les path à vos fichiers de mise à jour. Vous pouvez utiliser --file une ou plusieurs fois.
az iot du update init v5 \
    --update-provider <provider> \
    --update-name <update name> \
    --update-version <update version> \
    --compat <property1>=<value> <property2>=<value> \
    --step handler=<handler> properties=<JSON-formatted handler properties> \
    --file path=<paths and full file names of your update files> 

La commande az iot du update init v5 suivante montre des exemples de valeurs :

az iot du update init v5 \
    --update-provider Microsoft \
    --update-name AptUpdate \
    --update-version 1.0.0 \
    --compat manufacturer=Contoso model=Vacuum \
    --step handler=microsoft/script:1 properties='{"installedCriteria": "1.0"}' \
    --file path=/my/apt/manifest/file

Conseil

Pour les propriétés du gestionnaire, vous devrez peut-être placer certains caractères dans votre fichier JSON dans une séquence d’échappement. Par exemple, utilisez '\' pour échapper des guillemets doubles si vous exécutez Azure CLI dans PowerShell.

La commande az iot du init v5 prend en charge les scénarios avancés, y compris la fonctionnalité fichiers associée qui vous permet de définir la relation entre différents fichiers de mise à jour. Pour plus d'exemples et une liste complète des paramètres optionnels, voir la référence de la commande az iot du init v5.

Une fois que vous avez créé votre manifeste d’importation et l’enregistrer en tant que fichier JSON, vous pouvez importer la mise à jour. Si vous prévoyez d'utiliser le portail Azure pour l'importation, veillez à nommer votre manifeste d'importation au format <manifestname>.importmanifest.json.

Créer un manifeste d’importation Device Update avancé pour une mise à jour de proxy

Si votre mise à jour est plus complexe, par exemple une mise à jour de proxy, vous devrez peut-être créer plusieurs manifestes d’importation. Pour les mises à jour complexes, vous pouvez utiliser la az iot du update init v5commande Azure CLI pour créer un manifeste d'importation parent et un certain nombre de manifestes d'importation enfants.

Remplacez les valeurs de remplacement dans les commandes CLI Azure suivantes. Pour plus de détails sur les valeurs que vous pouvez utiliser, voir Schéma d'importation et informations API. L’exemple suivant montre trois mises à jour à déployer sur l’appareil, une mise à jour parente et deux mises à jour enfants.

az iot du update init v5 \
    --update-provider <child_1 update provider> \
    --update-name <child_1 update name> \
    --update-version <child_1 update version> \
    --compat manufacturer=<device manufacturer> model=<device model> \
    --step handler=<handler> \
    --file path=<paths and full file names of your update files> 
az iot du update init v5 \
    --update-provider <child_2 update provider> \
    --update-name <child_2 update name> \
    --update-version <child_2 update version> \
    --compat manufacturer=<device manufacturer> model=<device model> \
    --step handler=<handler> \
    --file path=<paths and full file names of your update files> 
az iot du update init v5 \
    --update-provider <parent update provider> \
    --update-name <parent update name> \
    --update-version <parent update version> \
    --compat manufacturer=<device manufacturer> model=<device model> \
    --step handler=<handler> properties=<any handler properties, JSON-formatted> \
    --file path=<paths and full file names of your update files> \
    --step updateId.provider=<child_1 update provider> updateId.name=<child_1 update name> updateId.version=<child_1 update version> \
    --step updateId.provider=<child_2 update provider> updateId.name=<child_2 update name> updateId.version=<child_2 update version>