Compartir a través de


Manifiesto de actualización de Device Update para IoT Hub

Device Update for IoT Hub usa IoT Plug and Play para enviar datos a los dispositivos durante la implementación. Uno de ellos es el manifiesto de actualización, una cadena de objetos JSON serializada que contiene los metadatos de la actualización que se va a instalar. También se firma criptográficamente para que el agente de Device Update pueda comprobar su autenticidad. Para más información sobre cómo usar el manifiesto de actualización para instalar contenido de forma segura, consulte Seguridad de Device Update.

Diferencias entre los manifiestos de importación y los de actualización

Es importante conocer las diferencias entre los conceptos de manifiesto de importación y manifiesto actualización en Device Update for IoT Hub:

  • El manifiesto de importación lo crea la persona que crea la actualización correspondiente. Describe el contenido de la actualización que se va a importar en Device Update para IoT Hub.
  • El manifiesto de actualización lo genera automáticamente Device Update para IoT Hub, para lo que utiliza algunas de las propiedades que se definieron en el manifiesto de importación. Se usa para comunicar información relevante al agente Device Update durante el proceso de actualización.

Cada tipo de manifiesto tiene su propio esquema y versión de esquema.

Esquema del manifiesto de actualización

Importante

La versión 4 del esquema JSON del manifiesto de actualización se hospeda en SchemaStore.org.

Manifiesto de actualización de ejemplo

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

Manifiesto de actualización completo frente a mini

Cuando un manifiesto de actualización supera un tamaño determinado que impide que se comunique de forma eficaz, Device Update for IoT Hub lo enviará al dispositivo en formato desasociado, también conocido como mini manifiesto de actualización. Un mini manifiesto es técnicamente los metadatos para el manifiesto de actualización y contiene la información necesaria para que el agente de Device Update descargue el manifiesto de actualización completo y compruebe su autenticidad.

Ejemplo de mini manifiesto de actualización:

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