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
Un compte et une instance Device Update configurés avec un hub IoT.
Un dispositif IoT ou un simulateur approvisionné pour la mise à jour des appareils au sein du hub IoT.
L’environnement Bash dans Azure Cloud Shell pour exécuter des commandes Azure CLI. Sélectionnez Lancer Cloud Shell pour ouvrir Cloud Shell, ou sélectionnez l’icône Cloud Shell dans la barre d’outils supérieure du portail Azure.
Si vous préférez, vous pouvez exécuter les commandes Azure CLI localement :
- Installez l’interface de ligne de commande Azure. Exécutez version az pour afficher la version d’Azure CLI installée et les bibliothèques dépendantes, puis exécutez az upgrade pour installer la dernière version.
- Connectez-vous à Azure en exécutant az login.
- Installez l’extension
azure-iot
lorsque vous y êtes invité lors de la première utilisation. Pour vous assurer que vous utilisez la dernière version de l’extension, exécutezaz extension update --name azure-iot
.
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'objetupdateId
qui est un identifiant unique pour chaque mise à jour. - L’objet de
--compat
compatibilité 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 à jourhandler
sur l’appareil, par exemplemicrosoft/script:1
,microsoft/swupdate:1
oumicrosoft/apt:1
, et sonproperties
associé pour cette mise à jour. Vous pouvez utiliser--step
plusieurs fois. - Le paramètre
--file
spécifie lespath
à 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 v5
commande 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>