Compartilhar via


Manifesto de atualização da Atualização de Dispositivo para Hub IoT

A Atualização de Dispositivo para Hub IoT usa o IoT Plug and Play para enviar dados para dispositivos durante a implantação. Um deles é o manifesto de atualização, uma cadeia de caracteres de objeto JSON serializada que contém metadados da atualização a ser instalada. Também é assinado criptograficamente para permitir que o agente de Atualização de Dispositivo verifique sua autenticidade. Para obter mais informações sobre como o manifesto de atualização é usado para instalar conteúdo com segurança, consulte a Segurança da Atualização de Dispositivo.

Manifesto de importação e manifesto de atualização

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

  • O manifesto de importação é criado por quem cria a atualização correspondente. Ele descreve o conteúdo da atualização que será importada para a Atualização de Dispositivo para Hub IoT.
  • O manifesto de atualização é gerado automaticamente pelo serviço de Atualização de Dispositivo para Hub IoT usando algumas das propriedades definidas no manifesto de importação. Ele é usado para comunicar informações relevantes ao agente de Atualização de Dispositivo durante o processo de atualização.

Cada tipo de manifesto tem o 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 é hospedada em 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 exceder um determinado tamanho que impede que ele seja comunicado com eficiência, a Atualização de Dispositivo para Hub IoT a enviará para o dispositivo em formato desanexado, também conhecido como mini manifesto de 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 Dispositivo baixe o manifesto de atualização completo e verifique sua autenticidade.

Exemplo de mini manifesto de 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="
      }
    }
  }
}