Sdílet prostřednictvím


Manifest aktualizace zařízení pro IoT Hub aktualizace

Služba Device Update pro IoT Hub používá IoT Plug and Play k odesílání dat do zařízení během nasazování. Jedním z nich je manifest aktualizace, serializovaný řetězec objektu JSON obsahující metadata aktualizace, která se má nainstalovat. Je také kryptograficky podepsaný, aby mohl agent aktualizace zařízení ověřit svou pravost. Další informace o tom, jak se manifest aktualizace používá k zabezpečené instalaci obsahu, najdete v tématu Zabezpečení služby Device Update.

Import manifestu vs. aktualizační manifest

Je důležité pochopit rozdíly mezi manifestem importu a koncepty manifestu aktualizace ve službě Device Update pro IoT Hub:

  • Manifest importu vytvoří ten, kdo vytvoří odpovídající aktualizaci. Popisuje obsah aktualizace, která se bude importovat do služby Device Update pro IoT Hub.
  • Manifest aktualizace se automaticky vygeneruje službou Device Update pro IoT Hub pomocí některých vlastností definovaných v manifestu importu. Používá se ke sdělení relevantních informací agentovi aktualizace zařízení během procesu aktualizace.

Každý typ manifestu má vlastní schéma a verzi schématu.

Aktualizace schématu manifestu

Důležité

Aktualizace schématu JSON manifestu verze 4 je hostovaná na SchemaStore.org.

Příklad manifestu aktualizace

{
  "manifestVersion": "4",
  "updateId": {
    "provider": "Contoso",
    "name": "Toaster",
    "version": "1.0"
  },
  "compatibility": [
    {
      "deviceManufacturer": "Contoso",
      "deviceModel": "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"
}

Manifest úplné aktualizace vs. miniaktualizační manifest

Pokud manifest aktualizace překročí určitou velikost, která brání efektivní komunikaci, aktualizace zařízení pro IoT Hub ho odešle do zařízení v odpojené podobě, označované také jako manifest mini aktualizace. Mini manifest je technicky metadata pro manifest aktualizace a obsahuje informace potřebné pro agenta aktualizace zařízení ke stažení úplného manifestu aktualizace a ověření jeho pravosti.

Příklad miniaktualizačního manifestu:

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