Codes d’erreur de Device Update pour IoT Hub
Ce document fournit un tableau des codes d’erreur pour divers composants Device Update.
Il existe deux principaux composants côté client qui peuvent générer des codes d’erreur : l’agent Device Update et l’agent d’optimisation de la distribution. Les codes d’erreur proviennent également du service de contenu Device Update.
Agent Device Update
ResultCode et ExtendedResultCode
L’interface PnP principale de Device Update pour IoT Hub signale ResultCode
et ExtendedResultCode
, qui peuvent être utilisés pour diagnostiquer les défaillances. Pour plus d’informations sur l’interface PnP principale de Device Update, consultez Device Update et Plug-and-Play. Pour plus d’informations sur les significations par défaut de ResultCode et de ExtendedResultCodes de l’agent Device Update, consultez le dépôt GitHub Device Update.
ResultCode
est un code d’état général et ExtendedResultCode
est un entier accompagné d’informations d’erreur encodées.
Le ExtendedResultCode
apparaît comme un nombre entier signé dans l’interface PnP. Pour décoder le code ExtendedResultCode
, convertissez l’entier signé en valeur hexadécimale non signée. Seuls les 4 premiers octets du code ExtendedResultCode
sont utilisés et sont de la forme F
FFFFFFF
où le premier quartet est le code d’installation et le reste des bits correspondent au code d’erreur.
Codes d’installation
Code d’installation | Description |
---|---|
D | Erreur générée à partir du kit SDK DO |
E | Le code d’erreur est un numéro errno |
Par exemple :
ExtendedResultCode
a la valeur -536870781
.
La représentation hexadécimale non signée de -536870781
est FFFFFFFF E0000083
.
Ignorer | Code d’installation | Code d'erreur |
---|---|---|
FFFFFFFF | E | 0000083 |
0x83
en base hexadécimale est 131
en base décimale et représente la valeur errno pour ENOLCK
.
Agent d’optimisation de la distribution
Le tableau suivant répertorie les codes d’erreur relatifs au composant d’optimisation de la distribution (DO) du client Device Update. Le composant DO est chargé de télécharger le contenu de mise à jour sur l’appareil IoT.
Le code d’erreur DO peut être obtenu en examinant les exceptions levées en réponse à un appel d’API. Tous les codes d'erreur DO peuvent être identifiés par le préfixe 0x80D0.
Code d'erreur | Erreur de chaîne | Type | Description |
---|---|---|---|
0x80D01001L | DO_E_NO_SERVICE | n/a | L’optimisation de la distribution n’a pas pu fournir le service |
0x80D02002L | DO_E_DOWNLOAD_NO_PROGRESS | Télécharger le travail | Le téléchargement d’un fichier n’a pas progressé dans la période définie |
0x80D02011L | DO_E_UNKNOWN_PROPERTY_ID | Télécharger le travail | Méthode SetProperty() ou GetProperty() appelée avec un ID de propriété inconnu |
0x80D02012L | DO_E_READ_ONLY_PROPERTY | Télécharger le travail | Impossible d’appeler la méthode SetProperty() sur une propriété en lecture seule |
0x80D02013L | DO_E_INVALID_STATE | Télécharger le travail | L’opération demandée n’est pas autorisée dans l’état actuel du travail. Le travail a peut-être été annulé ou a terminé son transfert. Il est maintenant en lecture seule. |
0x80D02018L | DO_E_FILE_DOWNLOADSINK_UNSPECIFIED | Télécharger le travail | Impossible de démarrer un téléchargement, car aucun récepteur de téléchargement (fichier local ou interface de flux) n’a été spécifié |
0x80D02200L | DO_E_DOWNLOAD_NO_URI | Interface IDODownload | Le téléchargement a été démarré sans fournir d’URI |
0x80D03805L | DO_E_BLOCKED_BY_NO_NETWORK | Conditions transitoires | Téléchargement suspendu en raison d’une perte de connectivité réseau |
0 00 00000 Total 4 bytes (32 bits)
- -- -----
| | |
| | |
| | +--------- Error code (20 bits)
| |
| +------------- Component/Area code (8 bits)
|
+--------------- Facility code (4 bits)
Pour plus d’informations sur les codes d’analyse, consultez Codes de résultat de l’agent Device Update et codes de résultats étendus ou Implémenter un gestionnaire de contenu personnalisé.
Service de contenu Device Update
Le tableau suivant liste les codes d’erreur relatifs au composant de service de contenu du service Device Update. Le composant de service de contenu est responsable de l’importation du contenu de mise à jour. Des informations supplémentaires sur la résolution des problèmes sont également disponibles pour l’importation de mises à jour de proxy.
Code d'erreur | Erreur de chaîne | Étapes suivantes |
---|---|---|
UpdateAlreadyExists | Une mise à jour avec la même identité existe déjà. | Veillez à importer une mise à jour qui n’a pas encore été importée dans cette instance Device Update pour IoT Hub. |
DuplicateContentImport | Contenu identique importé simultanément plusieurs fois. | Veillez à importer une mise à jour qui n’a pas encore été importée dans cette instance Device Update pour IoT Hub. |
CannotProcessImportManifest | Erreur de traitement du manifeste d’importation. | Consultez la documentation sur l’importation des concepts et l’importation des mises à jour pour connaître le formatage correct du manifeste d’importation. |
CannotDownload | Impossible de télécharger le manifeste d’importation. | Vérifiez que l’URL du fichier manifeste d’importation est toujours valide. |
CannotParse | Impossible d’analyser le manifeste d’importation. | Vérifiez la précision de votre manifeste d’importation par rapport au schéma défini dans la documentation sur l’importation des mises à jour. |
UnsupportedVersion | La version du schéma du manifeste d’importation n’est pas prise en charge. | Veillez à ce que votre manifeste d’importation utilise le dernier schéma défini dans la documentation sur l’importation des mises à jour. |
Erreur d’importation de mise à jour en raison d’une limite dépassée. | Impossible d’importer un fournisseur de mise à jour supplémentaire. | Vous avez atteint une limite quant au nombre de fournisseurs différents autorisés dans votre instance Device Update pour IoT Hub. Supprimez certaines mises à jour de votre instance et réessayez. |
Erreur d’importation de mise à jour en raison d’une limite dépassée. | Impossible d’importer une mise à jour supplémentaire pour le fournisseur spécifié. | Vous avez atteint une limite quant au nombre de noms différents autorisés sous un fournisseur dans votre instance Device Update pour IoT Hub. Supprimez certaines mises à jour de votre instance et réessayez. |
Erreur d’importation de mise à jour en raison d’une limite dépassée. | Impossible d’importer une version de mise à jour supplémentaire pour le fournisseur et le nom spécifiés. | Vous avez atteint une limite quant au nombre de versions différentes autorisées sous un fournisseur et un nom dans votre instance Device Update pour IoT Hub. Supprimez de votre instance certaines mises à jour avec ce nom, puis réessayez. |
Erreur d’importation de mise à jour en raison d’une limite dépassée. | Impossible d’importer un fournisseur de mise à jour supplémentaire avec la compatibilité spécifiée. or Impossible d’importer un nom de mise à jour supplémentaire avec la compatibilité spécifiée. or Impossible d’importer une version de mise à jour supplémentaire avec la compatibilité spécifiée. |
Lors de la définition des propriétés de compatibilité dans un manifeste d’importation, gardez à l’esprit que Device Update pour IoT Hub prend en charge une combinaison unique de fournisseur et de nom pour un jeu de propriétés de compatibilité donné. Si vous essayez d’utiliser les mêmes propriétés de compatibilité avec plusieurs combinaisons de fournisseur/nom, vous verrez ces erreurs. Pour résoudre cela, veillez à ce que toutes les mises à jour pour un appareil donné (telles que définies par les propriétés de compatibilité) utilisent le même fournisseur et le même nom. |
CannotProcessUpdateFile | Erreur lors du traitement du fichier source. | |
ContentFileCannotDownload | Impossible de télécharger le fichier source. | Vérifiez que l’URL du ou des fichiers de mise à jour est toujours valide. |
SourceFileMalwareDetected | Une signature de programme malveillant connue a été détectée dans un fichier en cours d’importation. | Device Update pour IoT Hub analyse le contenu importé à la recherche de logiciels malveillants, en utilisant plusieurs mécanismes différents. Si une signature de programme malveillant connue est identifiée, l’importation échoue et un message d’erreur unique est retourné. Le message d’erreur contient la description de la signature du programme malveillant et un hachage de fichier pour chaque fichier dans lequel la signature a été détectée. Vous pouvez utiliser le hachage de fichier pour trouver le fichier exact qui est marqué d’un indicateur, et utiliser la description de la signature du programme malveillant pour rechercher le programme malveillant dans ce fichier. Une fois que vous avez supprimé le logiciel malveillant de tous les fichiers importés, vous pouvez relancer le processus d’importation. |
SourceFilePendingMalwareAnalysis | Une signature a été détectée dans un fichier en cours d’importation, ce qui peut indiquer qu’un programme malveillant est présent. | Device Update pour IoT Hub analyse le contenu importé à la recherche de logiciels malveillants, en utilisant plusieurs mécanismes différents. L’importation échoue si une signature d’analyse présente des caractéristiques d’un programme malveillant, même s’il n’existe pas de correspondance exacte avec les programmes malveillants connus. Lorsque cela se produit, un message d’erreur unique est retourné. Le message d’erreur contient la description de la signature du programme malveillant suspecté et un hachage de fichier pour chaque fichier dans lequel la signature a été détectée. Vous pouvez utiliser le hachage de fichier pour trouver le fichier exact qui est marqué d’un indicateur, et utiliser la description de la signature du programme malveillant pour rechercher le programme malveillant dans ce fichier. Une fois que vous avez supprimé le logiciel malveillant de tous les fichiers importés, vous pouvez relancer le processus d’importation. Si vous êtes certain que vos fichiers sont exempts de programmes malveillants et que vous continuez à voir cette erreur, utilisez le processus Contacter le support Microsoft. |