Udostępnij za pośrednictwem


Aktualizacja urządzenia platformy Azure dla manifestu aktualizacji usługi IoT Hub

W tym artykule opisano dane manifestu aktualizacji wysyłane przez usługę Azure Device Update dla usługi IoT Hub do urządzeń podczas wdrażania aktualizacji. Manifest aktualizacji jest serializowanym obiektem ciągu JSON zawierającym metadane dotyczące aktualizacji do zainstalowania.

Usługa Device Update używa usługi IoT Plug and Play do wysyłania manifestu aktualizacji i kryptograficznie podpisuje go, aby agent usługi Device Update mógł zweryfikować jego autentyczność. Aby uzyskać więcej informacji na temat sposobu użycia manifestu aktualizacji do bezpiecznego instalowania zawartości, zobacz Zabezpieczenia usługi Device Update.

Importowanie manifestu a manifestu aktualizacji

Manifest aktualizacji różni się od manifestu importowania aktualizacji urządzenia.

  • Manifest importu to plik JSON opisujący aktualizację do zaimportowania do usługi Device Update. Kto tworzy aktualizację dla usługi Device Update, tworzy odpowiedni plik manifestu importu.
  • Manifest aktualizacji jest obiektem ciągu JSON, który komunikuje informacje z agentem usługi Device Update podczas aktualizacji. Usługa Device Update automatycznie generuje manifest aktualizacji, uwzględniając niektóre z tych samych właściwości zdefiniowanych w manifeście importu.

Każdy typ manifestu ma własną wersję schematu i schematu. Aby uzyskać więcej informacji na temat schematu manifestu importu, zobacz Schemat manifestu importowania aktualizacji urządzenia.

Aktualizowanie schematu manifestu

Schemat JSON manifestu aktualizacji w wersji 4 jest hostowany w SchemaStore.org.

Przykładowy manifest aktualizacji

{
  "manifestVersion": "4",
  "updateId": {
    "provider": "Contoso",
    "name": "Toaster",
    "version": "1.0"
  },
  "compatibility": [
    {
      "manufacturer": "Contoso",
      "model": "Toaster"
    }
  ],
  "instructions": {
    "steps": [
      {
        "handler": "microsoft/swupdate:2",
        "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 pełnej i mini aktualizacji

Jeśli manifest aktualizacji jest zbyt duży, aby zapewnić wydajną komunikację, usługa Device Update wysyła go do urządzenia w formacie odłączonym, nazywanym również manifestem mini aktualizacji. Mini manifest zawiera metadane manifestu aktualizacji, za pomocą którego agent usługi Device Update może pobrać pełny manifest aktualizacji i zweryfikować jego autentyczność.

W poniższym przykładzie przedstawiono manifest mini aktualizacji:

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