Delen via


Apparaatupdate voor IoT Hub updatemanifest

Device Update for IoT Hub gebruikt IoT-Plug en Play om tijdens de implementatie gegevens naar apparaten te verzenden. Een daarvan is het updatemanifest, een geserialiseerde JSON-objecttekenreeks met metagegevens van de update die moet worden geïnstalleerd. Het is ook cryptografisch ondertekend, zodat de Device Update-agent de echtheid kan verifiëren. Zie Beveiliging van apparaatupdates voor meer informatie over hoe het updatemanifest wordt gebruikt om inhoud veilig te installeren.

Manifest importeren versus updatemanifest

Het is belangrijk om inzicht te hebben in de verschillen tussen het importmanifest en de concepten van het updatemanifest in Device Update voor IoT Hub:

  • Het importmanifest wordt gemaakt door degene die de bijbehorende update maakt. Hierin wordt de inhoud van de update beschreven die wordt geïmporteerd in Device Update voor IoT Hub.
  • Het updatemanifest wordt automatisch gegenereerd door device update voor IoT Hub service, met behulp van enkele eigenschappen die zijn gedefinieerd in het importmanifest. Het wordt gebruikt om relevante informatie door te geven aan de Device Update-agent tijdens het updateproces.

Elk manifesttype heeft een eigen schema en schemaversie.

Manifestschema bijwerken

Belangrijk

Updatemanifest JSON-schema versie 4 wordt gehost op SchemaStore.org.

Voorbeeld van 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"
}

Volledig versus mini-updatemanifest

Wanneer een updatemanifest een bepaalde grootte overschrijdt waardoor het niet efficiënt kan worden gecommuniceerd, verzendt Device Update voor IoT Hub het naar het apparaat in losgekoppelde indeling, ook wel een mini-updatemanifest genoemd. Een minimanifest is technisch gezien metagegevens voor het updatemanifest en bevat informatie die nodig is voor de Device Update-agent om het volledige updatemanifest te downloaden en de echtheid ervan te verifiëren.

Voorbeeld van mini-updatemanifest:

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