Поделиться через


Обновление устройств Azure для манифеста обновления Центр Интернета вещей

В этой статье описываются данные манифеста обновления, которые обновление устройств Azure для Центр Интернета вещей отправляет на устройства во время развертывания обновления. Манифест обновления — это сериализованный строковый объект JSON, содержащий метаданные об обновлении для установки.

Обновление устройств использует ioT самонастраивающийся для отправки манифеста обновления и криптографически подписывает его, чтобы агент обновления устройств смог проверить его подлинность. Дополнительные сведения о том, как манифест обновления используется для безопасной установки содержимого, см. в разделе "Безопасность обновления устройств".

Сравнение манифестов импорта и обновления

Манифест обновления отличается от манифеста импорта обновления устройства.

  • Манифест импорта — это JSON-файл, описывающий обновление для импорта в обновление устройства. Каждый, кто создает обновление для обновления устройства, создает соответствующий файл манифеста импорта.
  • Манифест обновления — это объект строки JSON, который передает сведения агенту обновления устройства во время обновления. Служба обновления устройств автоматически создает манифест обновления, включив некоторые из этих же свойств, определенных в манифесте импорта.

Каждый тип манифеста имеет собственную схему и версию схемы. Дополнительные сведения о схеме манифеста импорта см. в разделе "Схема импорта обновления устройства".

Схема манифеста обновления

Схема JSON манифеста обновления 4 размещена в SchemaStore.org.

Пример манифеста обновления

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

Сравнение манифеста полного и мини-манифеста

Если манифест обновления слишком велик для эффективного обмена данными, обновление устройства отправляет его на устройство в отсоединяемом формате, также называемый мини-манифестом обновления. Мини-манифест содержит метаданные о манифесте обновления, который агент обновления устройств может использовать для скачивания полного манифеста обновления и проверки его подлинности.

В следующем примере показан манифест мини-обновления:

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