Freigeben über


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 inlinelauten.

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 referencelauten. 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.