Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Utilisez Software updates, une fonctionnalité d’Azure Device Registry, pour fournir des mises à jour à distance à vos appareils à grande échelle. Importez les mises à jour dans un espace de noms Azure Device Registry, puis utilisez les jobs et les groupes de cet espace pour les déployer sur les appareils.
Important
Les mises à jour logicielles d’Azure Device Registry sont actuellement en aperçu. L’aperçu actuel concerne les appareils connectés à l’IoT Hub. N’utilisez pas les fonctionnalités en préversion pour les charges de travail de production. Pour les charges de travail de production, continuez à utiliser Device Update pour IoT Hub, qui reste en disponibilité générale.
Consultez les Conditions d’utilisation supplémentaires pour les préversions Microsoft Azure pour les conditions légales qui s’appliquent aux fonctionnalités Azure en version bêta, en préversion ou qui ne sont pas encore publiées en disponibilité générale.
Applicabilité du service
| Fonctionnalité | Opérations Azure IoT | Azure IoT Hub |
|---|---|---|
| Mises à jour logicielles | Sans objet | Preview |
Mises à jour logicielles et mise à jour des appareils pour IoT Hub
Les mises à jour logicielles intègrent les fonctionnalités de mise à jour OTA dans Azure Device Registry. Il utilise le même format d’importation de manifeste que Device Update for IoT Hub, et vous permet de gérer les mises à jour au niveau de l’espace de noms en utilisant les groupes et jobs du Registre des Appareils Azure.
Utilisez les conseils suivants pour choisir la bonne option :
| Si vous... | Utiliser |
|---|---|
| Besoin de mises à jour à distance pour les charges de travail de production | Device Update pour IoT Hub, qui reste généralement disponible et pris en charge. |
| Je souhaite évaluer la gestion des mises à jour via les espaces de noms, groupes et jobs d’Azure Device Registry | Mises à jour logicielles (aperçu), décrites dans cet article. |
Gardez à l’esprit les considérations suivantes si vous utilisez déjà Device Update for IoT Hub :
- Vous ne pouvez pas utiliser les deux sur le même hub IoT. Dans cette version préliminaire, vous pouvez utiliser uniquement les mises à jour logicielles avec les IoT hubs qui ne disposent pas d’une instance existante de Device Update pour IoT Hub. Pour essayer des mises à jour logicielles, connectez un IoT hub qui n'utilise pas Device Update for IoT Hub à votre espace de noms.
- Les appareils utilisent un client différent. Les appareils qui exécutent l’agent Device Update ne peuvent pas recevoir de mises à jour logicielles. Pour recevoir les mises à jour logicielles, un appareil utilise le client de mises à jour logicielles dans les SDKs unifiés Azure IoT (aperçu).
Comment fonctionnent les mises à jour logicielles
Vous activez les mises à jour logicielles sur un espace de noms Azure Device Registry, soit lorsque vous configurez l’espace de noms, soit plus tard. Pour savoir comment, consultez Commencer avec Azure Device Registry (version préliminaire). La fonctionnalité introduit les composants suivants :
- Mise à jour logicielle : Une mise à jour que vous importez dans un espace de noms. Une mise à jour logicielle se compose d’un ou plusieurs fichiers de mise à jour et d’un manifeste d’importation. Après avoir importé une mise à jour logicielle, elle est disponible pour les tâches de mise à jour logicielle et de mise à jour d’intégration dans cet espace de noms.
- Travail de mise à jour logicielle : Applique une mise à jour logicielle aux appareils compatibles d’un groupe cible.
- Travail de mise à jour d’intégration : applique une mise à jour logicielle aux appareils compatibles lorsqu’ils vérifient les mises à jour pendant l’intégration, avant qu’ils ne s’inscrivent et ne commencent à fonctionner.
- Client des mises à jour logicielles : La partie des SDK Azure IoT unifiés (aperçu) que votre application d’appareil utilise pour vérifier, télécharger et installer les mises à jour logicielles, et pour signaler les résultats.
Un flux typique de mises à jour ressemble à ceci :
- Vous téléchargez les fichiers de mise à jour et le manifeste d’importation dans un conteneur stockage Azure.
- Vous importez la mise à jour logicielle dans votre espace de noms.
- Vous créez un travail qui cible un groupe ou, pour l’intégration, l’espace de noms.
- Chaque appareil vérifie les mises à jour et rapporte ses propriétés de compatibilité. Si l’appareil est compatible, il reçoit la mise à jour.
- L’appareil télécharge et installe la mise à jour, puis rapporte le résultat. Vous surveillez la progression et les résultats au niveau des appareils dans l’exécution du travail.
Mises à jour logicielles
Une mise à jour logicielle se compose de deux composants que vous téléversez ensemble :
- Fichiers de mise à jour : la charge utile que l’appareil installe. La charge utile peut être une image de firmware, un logiciel, un script ou plusieurs fichiers associés.
-
Manifeste d’importation : Un fichier au format JSON portant l’extension
.importmanifest.jsonqui décrit la mise à jour. Le manifeste d’importation déclare :- Identité de mise à jour : Le fournisseur, le nom et la version qui identifient de manière unique la mise à jour. Le fournisseur et le nom identifient ensemble une famille de mises à jour, comme toutes les versions du firmware pour un même modèle d’appareil.
- Propriétés de compatibilité : Les propriétés des appareils qui déterminent quels appareils peuvent installer la mise à jour. Pour plus d’informations, voir Compatibilité des appareils.
- Instructions d’installation : les étapes d’installation, leur ordre et le gestionnaire pour chaque étape. Le gestionnaire indique au dispositif comment appliquer cette étape, par exemple en installant un paquet, en exécutant un script ou en écrivant une image disque.
- Métadonnées du fichier : Le nom, la taille et le hachage de chaque fichier de mise à jour. Le service utilise les hachages pour vérifier l’intégrité des fichiers à l’importation, et l’appareil peut les utiliser pour vérifier chaque fichier avant l’installation.
Chaque mise à jour logicielle nécessite un manifeste d’importation. Si vous essayez d’importer des fichiers de mise à jour sans manifeste d’importation, l’importation échoue. Lorsque vous importez, vous pouvez éventuellement scanner les fichiers de mise à jour à la recherche de malwares. Le scan de logiciels malveillants est disponible dans certaines régions. Pour les instructions étape par étape, voir Importer une mise à jour logicielle.
L’exemple suivant montre un manifeste d’importation pour une mise à jour basée sur une image :
{
"updateId": {
"provider": "Contoso",
"name": "IrrigationControllerV2-Image",
"version": "1.3.0"
},
"isDeployable": true,
"compatibility": [
{
"manufacturer": "Contoso",
"model": "IrrigationControllerV2"
}
],
"instructions": {
"steps": [
{
"type": "inline",
"description": "Update the device image to version 1.3.0",
"handler": "microsoft/swupdate:1",
"files": [
"contoso-irrigation-controller-v2-1.3.0.swu"
],
"handlerProperties": {
"installedCriteria": "1.3.0"
}
}
]
},
"files": [
{
"filename": "contoso-irrigation-controller-v2-1.3.0.swu",
"sizeInBytes": 112738816,
"hashes": {
"sha256": "wPdNKUSmWTZkR6Pum9oR/EIzdn5AvON4dsXME+/gHVw="
}
}
],
"createdDateTime": "2026-10-01T06:56:51.2002204Z",
"manifestVersion": "5.0"
}
Les mises à jour logicielles utilisent le même format de manifeste d’importation que Device Update for IoT Hub. Pour apprendre à rédiger un manifeste d’importation, voir :
Compatibilité des appareils
Les propriétés de compatibilité dans un manifeste d’importation déterminent quels périphériques peuvent installer une mise à jour logicielle. Lorsqu’un appareil vérifie les mises à jour, il transmet ses propres propriétés de compatibilité. Azure Device Registry compare ces propriétés aux propriétés de compatibilité déclarées dans la mise à jour logicielle.
Vous définissez les propriétés de compatibilité comme des paires nom-valeur. Chaque mise à jour logicielle doit déclarer au moins une propriété de compatibilité.
manufacturer et model ce sont des choix courants, mais ils ne sont pas obligatoires. Utilisez toutes les propriétés qui conviennent à votre flotte, comme region ou environment.
La compatibility section du manifeste d’importation est un tableau d’ensembles de propriétés. Par exemple:
"compatibility": [
{
"manufacturer": "Contoso",
"model": "IrrigationControllerV2"
}
]
L’appariement fonctionne comme suit :
- Un appareil doit correspondre à chaque propriété d’un ensemble. La mise à jour précédente ne s’applique qu’aux appareils qui indiquent à la fois
manufacturercommeContosoetmodelcommeIrrigationControllerV2. Cela ne s’applique pas à un appareil ContosoSoilSensorV1, ni à unIrrigationControllerV2appareil qui signale un autre fabricant. - Un appareil doit correspondre à un seul ensemble. Si vous déclarez plus d’un ensemble de propriétés, une seule mise à jour logicielle peut s’appliquer à plusieurs types d’appareils.
- Chaque ensemble de propriétés appartient à une famille de mises à jour. Vous ne pouvez pas utiliser exactement le même ensemble de propriétés de compatibilité avec plus d’une combinaison de fournisseur et de nom. Planifiez ensemble vos familles de mises à jour et vos propriétés de compatibilité. Pour plus d’informations, voir Concepts d’importation.
Un groupe peut contenir des dispositifs avec différentes propriétés de compatibilité. Une tâche de mise à jour logicielle applique la mise à jour uniquement aux appareils compatibles dans le groupe cible. Par exemple, si un groupe contient 18 IrrigationControllerV2 appareils et six SoilSensorV1 appareils, une mise à jour pour les appareils IrrigationControllerV2 est appliquée aux 18 appareils compatibles. Les six SoilSensorV1 appareils ne sont pas affectés.
Tip
Les appareils signalent leurs propriétés de compatibilité à Azure Device Registry, donc vous pouvez les utiliser dans une requête de groupe pour créer des groupes ne contenant que les appareils auxquels une mise à jour s’applique.
Tâches, groupes et comportement de déploiement
Vous déployez une mise à jour logicielle en créant un travail dans l’espace de noms. Les mises à jour logicielles prennent en charge deux types de tâches :
| Type de tâche | Target | Quand l′utiliser ? |
|---|---|---|
| Mise à jour logicielle | Un groupe Azure Device Registry | Mettez à jour les appareils enregistrés déjà en fonctionnement. Le groupe définit l’étendue du travail, et les propriétés de compatibilité déterminent quels appareils de cette étendue installent la mise à jour. |
| Mise à jour de l’intégration | L’espace de noms Azure Device Registry | Apportez les appareils à une version logicielle requise au fur et à mesure de leur intégration, avant qu’ils ne commencent à fonctionner. Par exemple, utilisez une mise à jour d’onboarding pour les appareils qui ont été stockés pendant un certain temps et qui utilisent un ancien firmware. |
Un travail de mise à jour logicielle ne s’arrête pas une fois qu’il atteint les appareils compatibles au moment où le travail démarre. Pendant que l’exécution de la tâche est active, elle continue d’appliquer la mise à jour à :
- Des appareils qui étaient hors ligne au démarrage du travail, après leur reconnexion et la recherche de mises à jour.
- Appareils appartenant au groupe cible. L’appartenance au groupe n’est pas mise à jour automatiquement : de nouveaux appareils rejoignent le groupe la prochaine fois que vous rafraîchissez son appartenance. Pour plus d’informations, voir Mise en cache de l’appartenance et rafraîchissement.
- Les appareils qui deviennent éligibles à la mise à jour, par exemple, parce que leurs propriétés de compatibilité rapportées changent.
Un travail de mise à jour d’intégration reste actif jusqu’à ce que vous le terminiez, donc les appareils compatibles continuent de recevoir la mise à jour au fur et à mesure qu’ils sont intégrés.
Pour les états des travaux, la planification et le suivi, voir Concepts des travaux (version préliminaire).
Considérations relatives au SDK des appareils
Les appareils reçoivent des mises à jour logicielles via le client de mises à jour logicielles dans les SDKs unifiés Azure IoT (aperçu). Gardez à l’esprit les éléments suivants lorsque vous planifiez le logiciel de votre appareil :
- Appareils pris en charge : Dans cette aperçu, le client de mises à jour logicielles est principalement destiné aux appareils sous Linux disposant de plus de 32 Mo de mémoire disponible.
- Intégration : Le SDK est une bibliothèque, pas un agent prêt à s’exécuter. Vous intégrez le client des mises à jour logicielles dans votre application de périphérique et fournissez la logique qui télécharge, installe et applique les mises à jour sur votre matériel. Microsoft fournit des exemples de code pour vous aider à démarrer.
- Deux façons de vérifier les mises à jour : un appareil en cours d’intégration vérifie les mises à jour d’intégration avant d’être enregistré. Un appareil enregistré vérifie les mises à jour logicielles à partir d’une tâche de mise à jour logicielle. L’application de l’appareil détermine quand rechercher des mises à jour.
- Connectivité : L’appareil vérifie les mises à jour et rapporte les résultats via sa connexion au Device Provisioning Service. Cela ne nécessite pas de point de terminaison ni d’identifiant distinct pour recevoir des mises à jour.
- Sécurité : Avant de télécharger des fichiers de mise à jour, le client des mises à jour logicielles vérifie la signature des informations de mise à jour qu’il reçoit du service. Les appareils téléchargent les fichiers de mise à jour uniquement via HTTPS, donc le contenu des mises à jour est toujours chiffré pendant le transit. Assurez-vous que vos appareils peuvent créer des connexions HTTPS sortantes pour télécharger les fichiers de mise à jour.
- Rapport d’état : Après une tentative d’installation, l’appareil rapporte le résultat, y compris les codes d’erreur en cas d’échec de l’installation. Le résultat apparaît dans les résultats au niveau de l’appareil de l’exécution de la tâche.
- Votre responsabilité : Vous êtes responsable de valider l’intégration dans votre propre environnement, y compris le comportement de récupération en cas d’échec d’une installation ou si l’appareil redémarre pendant une mise à jour.
Limitations de la version préliminaire
La préversion actuelle présente les limitations suivantes :
- Les mises à jour logicielles prennent en charge les appareils connectés à l’IoT Hub. Les appareils et ressources Opérations Azure IoT ne sont pas pris en charge dans cette aperçu.
- Vous ne pouvez pas utiliser de mises à jour logicielles avec un hub IoT qui possède une instance existante de Device Update for IoT Hub.
- Chaque mise à jour logicielle nécessite un manifeste d’importation. Vous ne pouvez pas créer un manifeste d'importation dans le portail Azure.
- Le client des mises à jour logicielles ne prend actuellement pas en charge les mises à jour proxy ni les mises à jour utilisant des étapes de référence (mises à jour parent et enfant).
Pour les limites applicables aux mises à jour importées, telles que la taille maximale des mises à jour, voir Limites de mise à jour de l’appareil pour IoT Hub. Pour les limites applicables aux groupes et aux travaux, voir Concepts de groupes (version préliminaire) et Concepts de travaux (version préliminaire).