Importieren von Updates in Device Update for IoT Hub – Schema und weitere Informationen
Wenn Sie ein Update in Device Update for IoT Hub importieren möchten, müssen Sie zuerst die Konzepte und die Schrittanleitung lesen. Wenn Sie sich für die Einzelheiten des Importmanifestschemas selbst interessieren, finden Sie unten weitere Informationen.
Das JSON-Schema des Importmanifests wird auf SchemaStore.org gehostet.
Schema
Eigenschaft | Typ | Beschreibung | Erforderlich |
---|---|---|---|
$schema | string |
JSON-Schemaverweis | Nein |
updateId | updateId |
Eindeutiger Updatebezeichner | Ja |
description | string |
Optionale Updatebeschreibung Maximale Länge: 512 Zeichen |
Nein |
compatibility | compatibility |
Liste der Geräteeigenschaftensätze, mit denen dieses Update kompatibel ist | Ja |
instructions | instructions |
Installationsanweisungen für das Update | Ja |
files | file [0-10] |
Liste der Nutzdatendateien des Updates. Die Summe aller Dateigrößen darf 2 GB nicht überschreiten. Kann leer oder NULL sein, wenn alle Anweisungsschritte Referenzschritte sind. | Nein |
manifestVersion | string |
Schemaversion des Importmanifests. Muss 5.0 sein. | Ja |
createdDateTime | string |
Das Datum und die Uhrzeit der Erstellung des Importmanifests im ISO 8601-Format. Beispiel: "2020-10-02T22:18:04.9446744Z" |
Ja |
Zusätzliche Eigenschaften sind nicht zulässig.
updateId-Objekt
Das Objekt updateID ist ein eindeutiger Bezeichner jedes Updates.
Eigenschaft | Typ | Beschreibung | Erforderlich |
---|---|---|---|
Anbieter | string |
Bei diesem Parameter handelt es sich um die Entität, die das Update erstellt oder verantwortlich für dieses ist. Dies kann ein Unternehmensname sein. Muster: ^[a-zA-Z0-9.-]+$ Maximale Länge: 64 Zeichen |
Ja |
name | string |
Bezeichner für eine Klasse von Updates. Dies kann eine Geräteklasse oder ein Modellname sein. Muster: ^[a-zA-Z0-9.-]+$ Maximale Länge: 64 Zeichen |
Ja |
version | string |
Numerische Versionsnummern mit zwei bis vier Teilen, die durch Punkte getrennt sind. Jeder Teil muss eine Zahl zwischen 0 und 2.147.483.647 sein, führende Nullen werden gelöscht. Muster: ^\d+(?:\.\d+)+$ Beispiele: "1.0" , "2021.11.8" |
Ja |
Zusätzliche Eigenschaften sind nicht zulässig.
Beispiel:
{
"updateId": {
"provider": "Contoso",
"name": "Toaster",
"version": "1.0"
}
}
compatibility-Objekt
Das compatibility-Objekt beschreibt die Eigenschaften eines Geräts, mit dem dieses Update kompatibel ist.
- Typ:
object
- Mindesteigenschaften:
1
- Maximale Eigenschaften:
5
Jede Eigenschaft ist ein Name-Wert-Paar vom Typ Zeichenfolge.
- Minimale Länge von Eigenschaftennamen:
1
- Maximale Länge von Eigenschaftennamen:
32
- Minimale Länge von Eigenschaftswerten:
1
- Maximale Länge von Eigenschaftswerten:
64
Derselbe Satz von Kompatibilitätseigenschaften kann nicht bei mehreren Kombinationen aus Updateanbieter und Name verwendet werden.
Beispiel:
{
"compatibility": [
{
"manufacturer": "Contoso",
"model": "Toaster"
}
]
}
instructions-Objekt
Das instructions-Objekt enthält die Installationsanweisungen für das Update. Das „instructions“-Objekt enthält eine Liste der auszuführenden Schritte. Schritte können entweder auszuführender Code oder ein Verweis auf ein anderes Update sein.
Eigenschaft | Typ | Beschreibung | Erforderlich |
---|---|---|---|
steps | array[1-10] |
Jedes Element im Array muss entweder ein Objekt des Typs inlineStep oder referenceStep sein. | Ja |
Zusätzliche Eigenschaften sind nicht zulässig.
Beispiel:
{
"instructions": {
"steps": [
{
"type": "inline",
...
},
{
"type": "reference",
...
}
]
}
}
inlineStep-Objekt
Ein inlineStep-Objekt ist ein Installationsanweisungsschritt, in dem die Codeausführung erfolgt.
Eigenschaft | Typ | Beschreibung | Erforderlich |
---|---|---|---|
type | string |
Typ des Anweisungsschritts, der die Codeausführung durchführt Muss inline lauten.Der Standardwert ist inline , wenn kein Wert angegeben wird. |
Nein |
description | string |
Optionale Beschreibung des Anweisungsschritts Maximale Länge: 64 Zeichen |
Nein |
handler | string |
Identität des Handlers auf dem Gerät, der diesen Schritt ausführen kann. Muster: ^\S+/\S+:\d{1,5}$ Mindestlänge: 5 Zeichen Maximale Länge: 32 Zeichen Beispiele: microsoft/script:1 , microsoft/swupdate:1 , microsoft/apt:1 |
Ja |
files | string [1-10] |
Namen der Updatedateien, die als Dateiobjekte definiert sind und die der Agent an den Handler weitergibt. Jedes Element im Array muss eine Länge von 1 bis 255 Zeichen haben. | Ja |
handlerProperties | inlineStepHandlerProperties |
JSON-Objekt, das der Agent als Argumente an den Handler übergibt | Nein |
Zusätzliche Eigenschaften sind nicht zulässig.
Beispiel:
{
"steps": [
{
"description": "pre-install script",
"handler": "microsoft/script:1",
"handlerProperties": {
"arguments": "--pre-install"
},
"files": [
"configure.sh"
]
}
]
}
referenceStep-Objekt
Ein referenceStep-Objekt ist ein Installationsanweisungsschritt zum Installieren eines anderen Updates.
Eigenschaft | Typ | Beschreibung | Erforderlich |
---|---|---|---|
type | referenceStepType |
Typ des Anweisungsschritt, mit dem ein weiteres Update installiert wird Muss reference lauten. |
Ja |
description | stepDescription |
Optionale Beschreibung des Anweisungsschritts Maximale Länge: 64 Zeichen |
Nein |
updateId | updateId |
Eindeutiger Updatebezeichner | Ja |
Zusätzliche Eigenschaften sind nicht zulässig.
Beispiel:
{
"steps": [
{
"type": "reference",
"updateId": {
"provider": "Contoso",
"name": "Toaster.HeatingElement",
"version": "1.0"
}
}
]
}
file-Objekt
Ein file-Objekt ist eine Datei mit Nutzdaten für das Update, z. B. binär, Firmware, Skript usw. Jedes „file“-Objekt muss innerhalb eines Updates eindeutig sein.
Eigenschaft | Typ | Beschreibung | Erforderlich |
---|---|---|---|
filename | string |
Aktualisiert den Namen von Nutzdatendateien Maximale Länge: 255 Zeichen |
Ja |
sizeInBytes | number |
Dateigröße in Byte Maximale Größe: 2147483648 Bytes |
Ja |
hashes | fileHashes |
Base64-codierte Dateihashes mit dem Algorithmusnamen als Schlüssel. Es muss mindestens der SHA-256-Algorithmus angegeben werden. Ein zusätzlicher Algorithmus kann angegeben werden, wenn er vom Agent unterstützt wird. Ausführliche Informationen zum Berechnen des Hashes finden Sie unten. | Ja |
relatedFiles | relatedFile[0-4] |
Sammlung zugehöriger Dateien mit mindestens einer Ihrer primären Nutzdatendateien. | Nein |
downloadHandler | downloadHandler |
Gibt an, wie zugehörige Dateien verarbeitet werden. | Ja nur bei Verwendung von relatedFiles |
Zusätzliche Eigenschaften sind nicht zulässig.
Beispiel:
{
"files": [
{
"filename": "configure.sh",
"sizeInBytes": 7558,
"hashes": {...}
}
]
}
fileHashes-Objekt
Base64-codierte Dateihashes mit dem Algorithmusnamen als Schlüssel. Es muss mindestens der SHA-256-Algorithmus angegeben werden. Ein anderen Algorithmus kann angegeben werden, wenn er vom Agent unterstützt wird. Ein Beispiel für die korrekte Hash-Berechnung finden Sie unter der Get-AduFileHashes-Funktion im AduFileHashes.psm1-Skript.
Eigenschaft | Typ | Beschreibung | Erforderlich |
---|---|---|---|
sha256 | string |
Base64-codierter Dateihashwert mit SHA-256-Algorithmus | Ja |
Zusätzliche Eigenschaften sind zulässig.
Beispiel:
{
"hashes": {
"sha256": "/CD7Sn6fiknWa3NgcFjGlJ+ccA81s1QAXX4oo5GHiFA="
}
}
relatedFiles-Objekt
Sammlung zugehöriger Dateien mit mindestens einer Ihrer primären Nutzdatendateien.
Eigenschaft | Typ | Beschreibung | Erforderlich |
---|---|---|---|
filename | string |
Liste der zugehörigen Dateien, die einer primären Nutzdatendatei zugeordnet sind. | Ja |
sizeInBytes | number |
Dateigröße in Byte Maximale Größe: 2147483648 Bytes |
Ja |
hashes | fileHashes |
Base64-codierte Dateihashes mit dem Algorithmusnamen als Schlüssel. Es muss mindestens der SHA-256-Algorithmus angegeben werden. Ein zusätzlicher Algorithmus kann angegeben werden, wenn er vom Agent unterstützt wird. Ausführliche Informationen zum Berechnen des Hashes finden Sie unten. | Ja |
properties | relatedFilesProperties [0-5] |
Grenzwert von 5 Schlüssel-Wert-Paaren, wobei der Schlüssel auf 64 ASCII-Zeichen beschränkt und der Wert „JObject“ (mit bis zu 256 ASCII-Zeichen) ist. | Nein |
Zusätzliche Eigenschaften sind zulässig.
Beispiel:
"relatedFiles": [
{
"filename": "in1_in2_deltaupdate.dat",
"sizeInBytes": 102910752,
"hashes": {
"sha256": "2MIldV8LkdKenjJasgTHuYi+apgtNQ9FeL2xsV3ikHY="
},
"properties": {
"microsoft.sourceFileHashAlgorithm": "sha256",
"microsoft.sourceFileHash": "YmFYwnEUddq2nZsBAn5v7gCRKdHx+TUntMz5tLwU+24="
}
}
],
Weitere Informationen finden Sie unter Verwenden des Features „Zugehörige Dateien“ zum Verweisen auf mehrere Updatedateien.
downloadHandler-Objekt
Gibt an, wie zugehörige Dateien verarbeitet werden.
Eigenschaft | Typ | Beschreibung | Erforderlich |
---|---|---|---|
id | string |
Bezeichner für downloadHandler. Grenzwert von 64 ASCII-Zeichen. | Ja |
Zusätzliche Eigenschaften sind nicht zulässig.
Beispiel:
"downloadHandler": {
"id": "microsoft/delta:1"
}
Nächste Schritte
Informieren Sie sich über Konzepte zum Importieren.
Wenn Sie bereit sind, probieren Sie die Schrittanleitung für den Import aus, in dem Sie Schritt für Schritt durch den Importvorgang geführt werden.