Обновление устройств 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="
}
}
}
}