IoT 中心终结点

注意

本文中提到的某些功能(例如云到设备消息传递、设备孪生、设备管理)仅在 IoT 中心的标准层中提供。 有关 IoT 中心基本层和标准/免费层的详细信息,请参阅选择适合你的解决方案的 IoT 中心层

IoT 中心名称

你可以在 Azure 门户中找到托管着终结点的 IoT 中心的主机名,它位于 IoT 中心的“概述”页上。 默认情况下,IoT 中心的 DNS 名称类似于以下示例:

{your iot hub name}.azure-devices.net

内置 IoT 中心终结点列表

Azure IoT 中心属于多租户服务,向各种执行组件公开功能。 下图显示了 IoT 中心公开的各种终结点。

Diagram showing the list of build-in IoT Hub endpoints.

以下列表对这些终结点进行了说明:

  • 资源提供程序。 IoT 中心资源提供程序公开一个 Azure 资源管理器接口。 此接口使 Azure 订阅所有者可以创建和删除 IoT 中心以及更新 IoT 中心属性。 IoT 中心属性可管理中心级别共享访问策略,而不是设备级别的访问控制以及云到设备和设备到云消息传送的功能选项。 IoT 中心资源提供程序还可让你导出设备标识

  • 设备标识管理。 每个 IoT 中心公开一组用于管理设备标识的 HTTPS REST 终结点(创建、检索、更新和删除)。 设备标识用于设备身份验证和访问控制。

  • 设备孪生管理。 每个 IoT 中心都会公开一组面向服务的 HTTPS REST 终结点,用于查询和更新设备孪生(更新标记和属性)。

  • 作业管理。 每个 IoT 中心都会公开一组面向服务的 HTTPS REST 终结点,用于查询和管理作业

  • 设备终结点。 对于标识注册表中的每个设备,IoT 中心都会公开一组终结点。 除非标明,否则这些终结点使用 MQTT v3.1.1、HTTPS 1.1 和 AMQP 1.0 协议进行公开。 还可通过端口 443 上的 WebSocket 使用 AMQP 和 MQTT。

    • 发送设备到云的消息。 设备使用此终结点发送设备到云的消息

    • 接收云到设备的消息。 设备使用此终结点接收目标云到设备的消息

    • 启动文件上传。 设备使用此终结点接收来自 IoT 中心的 Azure 存储 SAS URI,以便上传文件

    • 检索并更新设备孪生的属性。 设备使用此终结点访问其设备孪生的属性。 不支持 HTTPS。

    • 接收直接方法请求。 设备使用此终结点来侦听直接方法请求。 不支持 HTTPS。

    重要

    使用 X.509 证书颁发机构 (CA) 身份验证的设备的以下功能尚未正式发布,必须启用预览模式:

    • HTTPS、基于 WebSocket 的 MQTT 和基于 WebSocket 的 AMQP 协议。
    • 文件上传(所有协议)。

    这些功能在使用 X.509 指纹身份验证的设备上已正式发布。 若要了解有关使用 IoT 中心进行 x.509 身份验证的详细信息,请参阅支持的 x.509 证书

  • 服务终结点。 每个 IoT 中心都会公开一组终结点供解决方案后端用来与设备通信。 除了一个例外,这些终结点只使用 AMQP 协议以及基于 WebSockets 的 AMQP 协议进行公开。 直接方法调用终结点通过 HTTPS 协议进行公开。

    • 接收设备到云的消息。 此终结点与 Azure 事件中心兼容。 后端服务可用它来读取由设备发送的设备到云的消息。 除了此内置终结点外,还可以在 IoT 中心创建自定义终结点。

    • 发送云到设备的消息并接收传递确认。 这些终结点可让解决方案后端发送可靠的云到设备的消息,以及接收对应的传送或过期确认。

    • 接收文件通知。 此消息传递终结点允许在设备成功上传文件时接收通知。

    • 直接方法调用。 此终结点允许后端服务在设备上调用直接方法

Azure IoT 中心 SDK 一文介绍了访问这些终结点的各种方法。

所有 IoT 中心终结点都使用 TLS 协议,且绝不会在未加密/不安全的通道上公开任何终结点。

自定义终结点

可将 Azure 订阅中的现有 Azure 服务链接到充当消息路由终结点的 IoT 中心。 这些终结点充当服务终结点,并用作消息路由的接收器。 设备无法直接向这些终结点进行写入。 有关消息路由的详细信息,请参阅使用 IoT 中心消息路由将设备到云消息发送到不同的终结点

目前,IoT 中心支持将以下 Azure 服务用作自定义终结点:

  • 存储容器
  • 事件中心
  • 服务总线队列
  • 服务总线主题
  • Cosmos DB(预览版)

有关可添加的终结点的数量限制,请参阅配额和限制

终结点运行状况

可以使用 REST API Get Endpoint Health 获取终结点的运行状况状态。 我们建议使用与路由消息延迟相关的 IoT 中心路由指标来识别和调试终结点运行状况不佳或运行不正常时的错误,因为我们预计当终结点处于其中一种状态时,延迟会更高。 若要详细了解如何使用 IoT 中心指标,请参阅监视 IoT 中心

运行状况状态 说明
healthy 终结点按预期方式接受消息。
不正常 终结点未接受消息,IoT 中心正重试将消息发送到此终结点。
未知 IoT 中心尚未尝试将消息传递到此终结点。
已降级 终结点正在接受比预期慢的消息或正在从不正常状态恢复。
不活动 IoT 中心不再向此终结点传递消息。 重新尝试将消息发送到此终结点时失败。

现场网关

在 IoT 解决方案中, 现场网关 位于设备和 IoT 中心终结点之间。 它通常位于靠近设备的位置。 设备使用设备支持的协议,直接与现场网关通信。 现场网关使用 IoT 中心支持的协议连接到 IoT 中心终结点。 现场网关可能是专用硬件设备或运行自定义网关软件的低功率计算机。

可使用 Azure IoT Edge 实现现场网关。 IoT Edge 提供一些功能,例如从多台设备向同一 IoT 中心连接多路复用通信。

后续步骤

此 IoT 中心开发人员指南中的其他参考主题包括: