你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Device Update for IoT Hub 更新清单

Device Update for IoT Hub 在部署过程中使用 IoT 即插即用将数据发送到设备。 其中之一是更新清单,它是序列化的 JSON 对象字符串,包含要安装的更新的元数据。 它还会经过加密签名,以允许设备更新代理验证其真实性。 若要详细了解如何使用更新清单来安全地安装内容,请参阅设备更新安全性

导入清单与更新清单

了解 Device Update for IoT Hub 中的“导入清单”和“更新清单”概念之间的差异至关重要:

  • 导入清单由创建相应更新的人员创建。 它描述将导入到 Device Update for IoT Hub 的更新的内容。
  • 更新清单由 Device Update for IoT Hub 服务使用导入清单中定义的某些属性自动生成。 它用于在更新过程中将相关信息传达给设备更新代理。

每个清单类型都有其自己的架构和架构版本。

更新清单架构

重要

更新清单 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"
}

更新清单的完整版与微型版

在更新清单超过特定大小而无法高效通信时,Device Update for IoT Hub 将会采用拆离格式(也称为“微型版更新清单”)将该清单发送到设备。 从技术上说,微型版清单是更新清单的元数据,并且包含设备更新代理下载完整更新清单并验证其真实性所需的信息。

微型版更新清单示例:

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