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.
Lorsque vous importez une mise à jour dans Azure Device Update pour IoT Hub, vous soumettez également un fichier manifeste d’importation JSON associé qui définit des informations importantes sur la mise à jour. Cet article décrit le schéma utilisé pour créer le fichier manifeste d’importation JSON.
Pour en savoir plus sur les concepts de manifeste d’importation et la structure des fichiers, consultez Manifeste d’importation Azure Device Update pour IoT Hub. Pour savoir comment créer le fichier, consultez Préparer une mise à jour à importer dans Device Update pour IoT Hub.
Schéma
Le schéma JSON du manifeste d’importation est hébergé chez SchemaStore.org et se compose des propriétés suivantes. Aucune autre propriété n’est autorisée.
| Propriété | Catégorie | Descriptif | Obligatoire |
|---|---|---|---|
| $schema | string |
Référence de schéma JSON. | Non |
| identifiant de mise à jour | updateId |
Identificateur de mise à jour unique. | Oui |
| description | string |
Description facultative de la mise à jour. Longueur maximale de 512 caractères. | Non |
| compatibilité | compatibility |
La liste des ensembles de propriétés d’appareil avec laquelle cette mise à jour est compatible. | Oui |
| instructions | instructions |
Mettre à jour les instructions d’installation. | Oui |
| fichiers |
file
[0-10]
|
Liste des fichiers de charge utile de mise à jour. La somme de toutes les tailles de fichier ne peut pas dépasser 2 Go. Peut être vide ou null si toutes les étapes d’instruction sont des étapes de référence. | Non |
| manifestVersion | string |
Importer la version du schéma de manifeste. Doit être 5.0. | Oui |
| crééDateHeure | string |
Importez la date et l’heure de création du manifeste au format ISO 8601, par exemple "2020-10-02T22:18:04.9446744Z". |
Oui |
Mettre à jour un objet
L’objet updateID est un identificateur unique pour chaque mise à jour.
| Propriété | Catégorie | Descriptif | Obligatoire |
|---|---|---|---|
| fournisseur | string |
Entité qui crée ou est directement responsable de la mise à jour. Le fournisseur peut être le nom d’une entreprise. Modèle : ^[a-zA-Z0-9.-]+$Longueur maximale : 64 caractères |
Oui |
| nom | string |
Identificateur d’une classe de mise à jour. Le nom peut être une classe de périphérique ou un nom de modèle. Modèle : ^[a-zA-Z0-9.-]+$Longueur maximale : 64 caractères |
Oui |
| Version | string |
Numéros de version numériques composés de deux à quatre parties, séparées par des points. Chaque partie doit être un nombre compris entre 0 et 2147483647, et les zéros non significatifs sont supprimés. Modèle : ^\d+(?:\.\d+)+$Exemples : "1.0", "2021.11.8" |
Oui |
Aucune autre propriété n’est autorisée.
Par exemple:
{
"updateId": {
"provider": "Contoso",
"name": "Toaster",
"version": "1.0"
}
}
Objet de compatibilité
L’objet compatibility décrit 1 à 5 propriétés d’un appareil avec lequel cette mise à jour est compatible. Chaque propriété est une string paire nom-valeur de type. Le nom doit comporter de 1 à 32 caractères et la valeur de 1 à 64 caractères. Vous ne pouvez pas utiliser le même ensemble exact de propriétés de compatibilité avec plus d’une combinaison de fournisseur de mise à jour et de nom.
Par exemple:
{
"compatibility": [
{
"manufacturer": "Contoso",
"model": "Toaster"
}
]
}
Objet Instructions
L’objet instructions fournit les instructions d’installation de la mise à jour. L’objet instructions contient une liste de steps à effectuer. Aucune autre propriété n’est autorisée.
Les étapes peuvent être du code à exécuter ou des pointeurs vers d’autres mises à jour. La valeur par défaut d’un objet step n’est fournie si inline aucune valeur n’est type fournie.
| Propriété | Catégorie | Descriptif | Obligatoire |
|---|---|---|---|
| étapes | array[1-10] |
Chaque élément du steps tableau doit être soit un objet step en ligne , soit un objet step de référence. |
Oui |
Par exemple:
{
"instructions": {
"steps": [
{
"type": "inline",
...
},
{
"type": "reference",
...
}
]
}
}
Objet d’étape en ligne
Un inline objet step est une étape d’instruction d’installation qui effectue l’exécution du code.
| Propriété | Catégorie | Descriptif | Obligatoire |
|---|---|---|---|
| type | string |
Type d’étape d’instruction qui exécute l’exécution du code. Doit être inline. La valeur par défaut est inline si aucune valeur n’est fournie. |
Non |
| description | string |
Description facultative de l’étape d’instruction. Longueur maximale : 64 caractères. | Non |
| gestionnaire | string |
Identité du gestionnaire sur l’appareil qui peut exécuter cette étape. Modèle : ^\S+/\S+:\d{1,5}$Longueur minimale : cinq caractères Longueur maximale : 32 caractères Exemples : microsoft/script:1, microsoft/swupdate:2, microsoft/apt:1 |
Oui |
| fichiers |
string
[1-10]
|
Noms des fichiers de mise à jour définis en tant qu’objets fichier que l’agent transmet au gestionnaire. La longueur de chaque élément doit être de 1 à 255 caractères. | Oui |
| propriétésDuGestionnaire | inlineStepHandlerProperties |
Objets JSON que l’agent transmet au gestionnaire en tant qu’arguments. | Non |
Aucune autre propriété n’est autorisée.
Par exemple:
{
"steps": [
{
"description": "pre-install script",
"handler": "microsoft/script:1",
"handlerProperties": {
"arguments": "--pre-install"
},
"files": [
"configure.sh"
]
}
]
}
Objet d’étape de référence
Un reference objet step est une instruction d’installation permettant d’installer une autre mise à jour.
| Propriété | Catégorie | Descriptif | Obligatoire |
|---|---|---|---|
| type | referenceStepType |
Type d’étape d’instruction qui installe une autre mise à jour. Doit être reference. |
Oui |
| description | stepDescription |
Description facultative de l’étape d’instruction. Longueur maximale : 64 caractères. | Non |
| identifiant de mise à jour | updateId |
Identificateur de mise à jour unique. | Oui |
Aucune autre propriété n’est autorisée.
Par exemple:
{
"steps": [
{
"type": "reference",
"updateId": {
"provider": "Contoso",
"name": "Toaster.HeatingElement",
"version": "1.0"
}
}
]
}
Objet Files
Chaque files objet est un fichier de charge utile de mise à jour, tel qu’un fichier binaire, un microprogramme ou un fichier de script, qui doit être unique dans une mise à jour.
| Propriété | Catégorie | Descriptif | Obligatoire |
|---|---|---|---|
| nom de fichier | string |
Mettez à jour le nom du fichier de charge utile. Longueur maximale : 255 caractères | Oui |
| tailleEnOctets | number |
Taille du fichier en nombre d’octets. Taille maximale : octets 2147483648 | Oui |
| Hachages | fileHashes |
Hachages de fichiers codés en base64 avec le nom de l’algorithme comme clé. Au moins l’algorithme SHA-256 doit être spécifié, et des algorithmes supplémentaires peuvent être spécifiés s’ils sont pris en charge par l’agent. Voir l’objet Hashes pour plus de détails sur le calcul du hachage. | Oui |
| relatedFiles | relatedFile[0-4] |
Collection de fichiers liés à un ou plusieurs fichiers de charge utile primaires. Pour plus d’informations, consultez l’objet relatedFiles. | Non |
| downloadHandler | downloadHandler |
Spécifie le mode de traitement des fichiers associés. | Oui, si vous utilisez relatedFiles. Pour plus d’informations, consultez l’objet downloadHandler. |
Aucune autre propriété n’est autorisée.
Par exemple:
{
"files": [
{
"fileName": "full-image-file-name",
"sizeInBytes": 12345,
"hashes": {...},
"relatedFiles": [
{
"fileName": "delta-from-v1-file-name",
"sizeInBytes": 1234,
"hashes": {
"SHA256": "delta-from-v1-file-hash"
},
"properties": {...}
}
],
"downloadHandler": {
"id": "microsoft/delta:1"
}
}
]
}
Objet Hashes
L’objet hashes contient des hachages de fichiers codés en base64 avec les noms de l’algorithme sous forme de clés. Au moins l’algorithme SHA-256 doit être spécifié, et d’autres algorithmes peuvent être spécifiés si pris en charge par l’agent. Pour obtenir un exemple de calcul correct du hachage, consultez la Get-AduFileHashes fonction dans le script AduUpdate.psm1.
| Propriété | Catégorie | Descriptif | Obligatoire |
|---|---|---|---|
| sha256 | string |
Valeur de hachage de fichier codée en base64 à l’aide de l’algorithme SHA-256. | Oui |
D’autres propriétés sont autorisées.
Par exemple:
{
"hashes": {
"sha256": "/CD7Sn6fiknWa3NgcFjGlJ+ccA81s1QAXX4oo5GHiFA="
}
}
Objet relatedFiles
L’objet relatedFiles contient une collection de fichiers associés à un ou plusieurs fichiers de charge utile primaires. Pour plus d’informations, consultez Utiliser la fonctionnalité Fichiers associés pour référencer plusieurs fichiers de mise à jour.
| Propriété | Catégorie | Descriptif | Obligatoire |
|---|---|---|---|
| nom de fichier | string |
Liste des fichiers associés associés à un fichier de charge utile principal. | Oui |
| tailleEnOctets | number |
Taille du fichier en nombre d’octets. Taille maximale : 2147483648 octets. | Oui |
| Hachages | fileHashes |
Hachages de fichiers codés en base64 avec le nom de l’algorithme comme clé. Pour plus d’informations, consultez Objet Hachages. | Oui |
| Propriétés |
relatedFilesProperties
[0-5]
|
Jusqu’à cinq paires clé-valeur, où la clé est limitée à 64 caractères ASCII et la valeur est un JObject avec jusqu’à 256 caractères ASCII. | Non |
D’autres propriétés sont autorisées.
Par exemple:
"relatedFiles": [
{
"filename": "in1_in2_deltaupdate.dat",
"sizeInBytes": 102910752,
"hashes": {
"sha256": "2MIldV8LkdKenjJasgTHuYi+apgtNQ9FeL2xsV3ikHY="
},
"properties": {
"microsoft.sourceFileHashAlgorithm": "sha256",
"microsoft.sourceFileHash": "YmFYwnEUddq2nZsBAn5v7gCRKdHx+TUntMz5tLwU+24="
}
}
],
downloadHandler, objet
L’objet downloadHandler spécifie comment traiter les fichiers associés.
| Propriété | Catégorie | Descriptif | Obligatoire |
|---|---|---|---|
| id | string |
Identificateur de downloadHandler. Limite de 64 caractères ASCII. |
Oui, si vous utilisez relatedFiles |
Aucune autre propriété n’est autorisée.
Par exemple:
"downloadHandler": {
"id": "microsoft/delta:1"
}