Freigeben über


Updatemanifest für Device Update for IoT Hub

Device Update for IoT Hub verwendet IoT Plug and Play, um während der Bereitstellung Daten an Geräte zu senden. Eines davon ist das Update-Manifest, eine serialisierte JSON-Objektzeichenfolge, die Metadaten des zu installierenden Updates enthält. Es ist auch kryptografisch signiert, damit der Geräteaktualisierungs-Agent seine Authentizität überprüfen kann. Weitere Informationen dazu, wie das Updatemanifest zum sicheren Installieren von Inhalten verwendet wird, finden Sie unter Geräteupdatesicherheit.

Importmanifest und Updatemanifest

Es ist wichtig, die Unterschiede zwischen dem Importmanifest und den Updatemanifestkonzepten in Device Update for IoT Hub zu verstehen:

  • Das Importmanifest wird von dem erstellt, der das entsprechende Update erstellt. Es beschreibt den Inhalt des Updates, das in Device Update for IoT Hub importiert werden soll.
  • Das Updatemanifest wird automatisch vom Device Update for IoT Hub-Dienst generiert und verwendet dabei einige der Eigenschaften, die im Importmanifest definiert wurden. Es wird verwendet, um während des Aktualisierungsvorgangs relevante Informationen an den Geräteaktualisierungs-Agent zu übermitteln.

Jeder Manifesttyp verfügt über ein eigenes Schema und eine eigene Schemaversion.

Schema des Importmanifests

Wichtig

Updatemanifest JSON-Schema Version 4 wird bei SchemaStore.org gehostet.

Beispiel für ein Updatemanifest

{
  "manifestVersion": "4",
  "updateId": {
    "provider": "Contoso",
    "name": "Toaster",
    "version": "1.0"
  },
  "compatibility": [
    {
      "manufacturer": "Contoso",
      "model": "Toaster"
    }
  ],
  "instructions": {
    "steps": [
      {
        "handler": "microsoft/swupdate:1",
        "handlerProperties": {
          "installedCriteria": "1.0"
        },
        "files": [
          "fileId0"
        ]
      }
    ]
  },
  "files": {
    "fileId0": {
      "filename": "contoso.toaster.1.0.swu",
      "sizeInBytes": 718,
      "hashes": {
        "sha256": "mcB5SexMU4JOOzqmlJqKbue9qMskWY3EI/iVjJxCtAs="
      }
    }
  },
  "createdDateTime": "2021-09-28T18:32:01.8404544Z"
}

Vollständiges Updatemanifest im Vergleich zu Miniupdatemanifest

Wenn ein Update-Manifest eine bestimmte Größe überschreitet, die eine effiziente Kommunikation verhindert, sendet Device Update for IoT Hub es in einem getrennten Format, das auch als Mini-Update-Manifest bezeichnet wird, an das Gerät. Ein Minimanifest ist technisch gesehen Metadaten für das Updatemanifest und enthält Informationen, die der Geräteupdate-Agent benötigt, um das vollständige Updatemanifest herunterzuladen und seine Authentizität zu überprüfen.

Beispiel eines Miniupdatemanifests:

{
  "manifestVersion": "4",
  "updateId": {
    "provider": "Contoso",
    "name": "Toaster",
    "version": "1.0"
  },
  "detachedManifestFileId": "fileId1",
  "files": {
    "fileId1": {
      "filename": "contoso.toaster.1.0.updatemanifest.json",
      "sizeInBytes": 2048,
      "hashes": {
        "sha256": "789s9PDfX4uA9wFUubyC30BWkLFbgmpkpmz1fEdqo2U="
      }
    }
  }
}