Aggiornamento del dispositivo per hub IoT manifesto dell'aggiornamento

Aggiornamento del dispositivo per hub IoT usa Plug and Play IoT per inviare dati ai dispositivi durante la distribuzione. Uno di essi è il manifesto dell'aggiornamento, una stringa di oggetto JSON serializzata contenente i metadati dell'aggiornamento da installare. È anche firmato crittograficamente per consentire all'agente di Aggiornamento dispositivi di verificare l'autenticità. Per altre informazioni su come viene usato il manifesto dell'aggiornamento per installare in modo sicuro il contenuto, vedere Sicurezza degli aggiornamenti dei dispositivi.

Importare il manifesto e aggiornare il manifesto

È importante comprendere le differenze tra il manifesto di importazione e i concetti del manifesto di aggiornamento in Aggiornamento dispositivi per hub IoT:

  • Il manifesto di importazione viene creato da chiunque crei l'aggiornamento corrispondente. Descrive il contenuto dell'aggiornamento che verrà importato in Aggiornamento dispositivi per hub IoT.
  • Il manifesto di aggiornamento viene generato automaticamente dal servizio Aggiornamento dispositivi per hub IoT, usando alcune delle proprietà definite nel manifesto di importazione. Viene usato per comunicare informazioni rilevanti all'agente di Aggiornamento dispositivi durante il processo di aggiornamento.

Ogni tipo di manifesto ha uno schema e una versione dello schema.

Aggiornare lo schema del manifesto

Importante

Lo schema JSON del manifesto di aggiornamento versione 4 è ospitato in SchemaStore.org.

Manifesto di aggiornamento di esempio

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

Manifesto completo e mini aggiornamento

Quando un manifesto di aggiornamento supera una determinata dimensione che impedisce la comunicazione efficiente, Aggiornamento del dispositivo per hub IoT lo invierà al dispositivo in formato scollegato, noto anche come manifesto di mini aggiornamento. Un mini manifesto è tecnicamente metadati per il manifesto dell'aggiornamento e contiene informazioni necessarie per l'agente di Aggiornamento dispositivi per scaricare il manifesto dell'aggiornamento completo e verificarne l'autenticità.

Esempio di mini aggiornamento manifesto:

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