Partilhar via


Atualização de Dispositivos para Hub IoT manifesto de atualização

A Atualização de Dispositivos para Hub IoT utiliza Plug and Play IoT para enviar dados para dispositivos durante a implementação. Um deles é o manifesto de atualização, uma cadeia de objeto JSON serializada que contém metadados da atualização a instalar. Também está criptograficamente assinado para permitir que o agente de Atualização de Dispositivos verifique a sua autenticidade. Para obter mais informações sobre como o manifesto de atualização é utilizado para instalar conteúdo de forma segura, veja Segurança da Atualização de Dispositivos.

Importar manifesto vs manifesto de atualização

É importante compreender as diferenças entre o manifesto de importação e os conceitos de manifesto de atualização na Atualização de Dispositivos para Hub IoT:

  • O manifesto de importação é criado por quem criar a atualização correspondente. Descreve os conteúdos da atualização que serão importados para a Atualização de Dispositivos durante Hub IoT.
  • O manifesto de atualização é gerado automaticamente pela Atualização de Dispositivos para Hub IoT serviço, utilizando algumas das propriedades que foram definidas no manifesto de importação. É utilizado para comunicar informações relevantes ao agente de Atualização de Dispositivos durante o processo de atualização.

Cada tipo de manifesto tem o seu próprio esquema e versão de esquema.

Atualizar esquema de manifesto

Importante

A versão 4 do esquema JSON do manifesto de atualização está alojada no SchemaStore.org.

Exemplo de manifesto de atualização

{
  "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 de atualização completa vs. mini

Quando um manifesto de atualização excede um determinado tamanho que o impede de ser comunicado de forma eficiente, a Atualização de Dispositivos para Hub IoT irá enviá-lo para o dispositivo em formato desanexado, também conhecido como um manifesto de mini atualização. Um mini manifesto é tecnicamente metadados para o manifesto de atualização e contém as informações necessárias para que o agente de Atualização de Dispositivos transfira o manifesto de atualização completo e verifique a sua autenticidade.

Exemplo de manifesto de mini atualização:

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