Dela via


Enhetsuppdatering för IoT Hub uppdateringsmanifest

Enhetsuppdatering för IoT Hub använder IoT-Plug and Play för att skicka data till enheter under distributionen. En av dem är uppdateringsmanifestet, en serialiserad JSON-objektsträng som innehåller metadata för uppdateringen som ska installeras. Den är också kryptografiskt signerad så att enhetsuppdateringsagenten kan verifiera dess äkthet. Mer information om hur uppdateringsmanifestet används för att installera innehåll på ett säkert sätt finns i Säkerhet för enhetsuppdatering.

Importera manifest jämfört med uppdateringsmanifest

Det är viktigt att förstå skillnaderna mellan importmanifestet och uppdateringsmanifestets begrepp i Enhetsuppdatering för IoT Hub:

  • Importmanifestet skapas av den som skapar motsvarande uppdatering. Den beskriver innehållet i uppdateringen som ska importeras till enhetsuppdateringen för IoT Hub.
  • Uppdateringsmanifestet genereras automatiskt av enhetsuppdateringen för IoT Hub-tjänsten, med hjälp av några av de egenskaper som definierades i importmanifestet. Den används för att förmedla relevant information till enhetsuppdateringsagenten under uppdateringsprocessen.

Varje manifesttyp har ett eget schema och en egen schemaversion.

Uppdatera manifestschema

Viktigt

JSON-schemaversion 4 för uppdateringsmanifestet finns på SchemaStore.org.

Exempel på uppdateringsmanifest

{
  "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"
}

Fullständigt eller miniuppdateringsmanifest

När ett uppdateringsmanifest överskrider en viss storlek som förhindrar att det kommuniceras effektivt, skickar Enhetsuppdatering för IoT Hub den till enheten i frånkopplat format, även kallat ett miniuppdateringsmanifest. Ett minimanifest är tekniskt sett metadata för uppdateringsmanifestet och innehåller information som krävs för att enhetsuppdateringsagenten ska kunna ladda ned det fullständiga uppdateringsmanifestet och verifiera dess äkthet.

Exempel på miniuppdateringsmanifest:

{
  "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="
      }
    }
  }
}