你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Azure IoT Central 体系结构
IoT Central 是一个现成的环境,可用于快速评估 IoT 方案。 它是一个应用程序平台即服务 (aPaaS) IoT 解决方案,其主要界面是一个 Web UI。 它还提供一个 REST API,使你能够以编程方式来与应用程序交互。
本文提供 IoT Central 解决方案体系结构中关键元素的概述。
IoT Central 应用程序的主要功能包括:
管理设备
使用 IoT Central 可以管理向解决方案发送数据的 IoT 设备群。 例如,你能够:
- 控制哪些设备可以连接到你的应用程序,以及它们如何进行身份验证。
- 使用设备模板来定义可连接到你的应用程序的设备类型。
- 通过对连接的设备设置属性或调用命令来管理设备。 例如,为恒温器设备设置目标温度属性,或调用命令来触发设备以更新其固件。 可以设置属性并调用命令:
- 维护设备元数据,例如客户地址或上次服务日期。
查看和分析数据
在 IoT Central 应用程序中,可以查看和分析单个设备的数据,或来自多个设备的聚合数据:
- 使用映射将复杂的设备遥测数据转换为 IoT Central 中的结构化数据。
- 使用设备模板为特定类型的单个设备定义自定义视图。 例如,可以绘制单个恒温器在一段时间内的温度的图表,或显示货车的实时位置。
- 使用内置分析查看多个设备的聚合数据。 例如,可以查看多个零售店的总租用率,或识别租用率最高或最低的店铺。
- 创建自定义仪表板来帮助你管理设备。 例如,可以添加地图、磁贴和图表来显示设备遥测数据。
保护解决方案
在 IoT Central 中,可以配置和管理以下领域的安全性:
- 用户对你的应用程序的访问。
- 设备对你的应用程序的访问。
- 以编程方式访问你的应用程序。
- 从你的应用程序进行其他服务的身份验证。
- 审核日志将跟踪应用程序中的活动。
若要了解详情,请参阅 IoT Central 安全指南。
设备
设备从传感器收集数据,并将其作为遥测数据流发送到 IoT Central 应用程序。 例如,制冷单元发送温度值流,或者货车以流数据的形式传送其位置信息。
设备可以使用属性来报告其状态,例如阀门是处于打开还是关闭状态。 IoT Central 应用程序还可以使用属性来设置设备状态,例如设置恒温器的目标温度。
IoT Central 还可以通过对设备调用命令来控制设备。 例如,指示设备下载并安装固件更新。
设备实现的遥测、属性和命令统称为设备功能。 可以在设备和 IoT Central 应用程序之间共享的模型中定义这些功能。 在 IoT Central 中,此模型是用于定义特定设备类型的设备模板的一部分。 若要了解详细信息,请参阅将设备分配到设备模板。
设备实现应遵循 IoT 即插即用约定,以确保它能够与 IoT Central 通信。 有关详细信息,请参阅各种语言的 SDK 和示例。
设备使用受支持的协议之一连接到 IoT Central:MQTT、AMQP 或 HTTP。
网关
本地网关设备在多种情况下都很有用,例如:
- 设备可能无法直接连接到 IoT Central,因为它们无法连接到 Internet。 例如,你可能具有一系列支持蓝牙的占用传感器,它们需要通过网关设备进行连接。
- 设备生成的数据量可能很高。 为了降低成本,可先合并或聚合本地网关中的数据,然后再将其发送到 IoT Central 应用程序。
- 解决方案需要对数据中的异常情况快速做出响应。 可在网关设备上运行规则,以识别异常情况并在本地执行操作,而无需将数据发送到 IoT Central 应用程序。
网关设备的处理能力通常需要比独立设备更加强大。 实现网关设备的一个选项是使用 Azure IoT Edge,并应用标准网关模式 IoT Edge 之一。 还可在合适的设备上运行自己的自定义网关代码。
导出数据
尽管 IoT Central 具有内置分析功能,但你可以将数据导出到其他服务和应用程序。
使用 IoT Central 数据导出定义中的转换,可以在将设备数据导出到目标之前处理设备数据的格式和结构。
导出数据的原因包括:
存储和分析
为实现长期存储并控制存档和保留策略,可以将数据连续导出到其他存储目标。 使用 IoT Central 外部的单独存储服务,可以使用其他分析工具从解决方案的数据中获取见解。
业务自动化
IoT Central 中的规则让你可以触发外部操作,例如发送电子邮件或触发事件,以响应 IoT Central 中的状况。 例如,可以在设备的环境温度达到阈值时通知工程师。
其他计算
在 IoT Central 或其他服务使用数据之前,可能需要先对数据进行转换或执行计算。 例如,可以将当地天气信息添加到货车报告的位置数据。
通过 REST API 扩展
构建集成,使其他应用程序和服务能够管理你的应用程序。 例如,以编程方式管理应用程序中的设备,或将用户信息与外部系统同步。
伸缩性
IoT Central 应用程序在内部使用多个 Azure 服务,例如 IoT 中心和设备预配服务 (DPS)。 其中许多基础服务是多租户服务。 但是,为确保完全隔离客户数据,IoT Central 使用单租户 IoT 中心。
IoT Central 根据应用程序中的负载配置文件自动缩放其 IoT 中心。 IoT Central 可纵向扩展单个 IoT 中心和横向扩展应用程序中的 IoT 中心数。 此外,IoT Central 还自动缩放其他基础服务。
数据导出
IoT Central 应用程序常使用其他用户配置服务。 例如,可以将 IoT Central 应用程序配置为将数据连续导出到 Azure 事件中心和 Azure Blob 存储等服务。
如果配置的数据导出无法写入目标,IoT Central 会尝试重新传输数据最多 15 分钟,之后 IoT Central 会将目标标记为失败。 将定期检查失败的目标,以验证它们是否可写。
通过禁用并重新启用数据导出,可以强制 IoT Central 重新开始失败的导出。
针对要使用的数据导出服务,请查看相关的高可用性和可伸缩性最佳做法:
- Azure Blob 存储:Azure 存储冗余和 Blob 存储的性能和可伸缩性清单
- Azure 事件中心:事件中心的可用性和一致性和使用事件中心进行缩放
- Azure 服务总线:使应用程序免受服务总线中断和灾难影响的最佳做法和自动更新 Azure 服务总线命名空间的消息传送单元
高可用性和灾难恢复
HADR 功能取决于创建 IoT Central 应用程序的时间:
在 2021 年 4 月之前创建的应用程序
在 2021 年 4 月之前创建的某些应用程序使用单个 IoT 中心。 对于这些应用程序,IoT Central 不提供 HADR 功能。 如果 IoT 中心变得不可用,则应用程序将变为不可用。
使用 az iot central device manual-failover
命令检查应用程序是否仍使用单个 IoT 中心。 如果应用程序具有单个 IoT 中心,此命令将返回错误。
在 2021 年 4 月之后且 2023 年 4 月之前创建的应用程序
对于高度可用的设备连接,IoT Central 应用程序始终至少具有两个 IoT 中心。 随着 IoT Central 根据负载配置文件的更改缩放应用程序,中心的数目可能会增加或减少。
IoT Central 还使用可用性区域来使其使用的各种服务高度可用。
需要灾难恢复的事件可能包括部分服务变得不可用和整个区域变得不可用等。 IoT Central 根据事件的性质和规模遵循不同的恢复过程。 例如,如果灾难性故障导致整个 Azure 区域变得不可用,灾难恢复过程会将应用程序故障转移到同一地理位置的另一个区域。
在 2023 年 4 月之后创建的应用程序
在 2023 年 4 月之后创建的 IoT Central 应用程序最初具有一个 IoT 中心。 如果 IoT 中心变得不可用,则应用程序将变为不可用。 但是,IoT Central 会自动缩放应用程序,并为每 10,000 个连接的设备添加一个新的 IoT 中心。 如果为了设备少于 10,000 台的应用程序需要多个 IoT 中心,请向 IoT Central 客户支持提交请求。
使用 az iot central device manual-failover
命令检查你的应用程序当前是否在使用单个 IoT 中心。 如果应用程序当前具有单个 IoT 中心,此命令将返回错误。