从内置终结点读取设备到云的消息

默认情况下,消息将路由到与 事件中心兼容的内置面向服务的终结点 (messages/events) 中。 目前仅在端口 5671 上使用 AMQP 协议并在端口 443 上使用 AMQP 通过 WebSocket 来公开此终结点。 IoT 中心公开以下属性,以便用户控制内置的与事件中心兼容的消息传送终结点 messages/events

属性 说明
分区计数 在创建时设置此属性,以便为设备到云事件引入定义分区数。
保留时间 此属性指定 IoT 中心保留消息的时间(以天为单位)。 默认值为一天,但可以增加到七天。

IoT 中心允许将数据保留在内置的事件中心,最长保留期为 7 天。 可以在创建 IoT 中心时设置保留时间。 IoT 中心的数据保留时间取决于 IoT 中心层和单元类型。 就大小而言,内置事件中心可以保留最大消息大小至少为 24 小时配额的消息。 例如,使用 1 个 S1 单元时,在每条消息的大小为 4k 的情况下,IoT 中心提供的存储足以保留至少 40 万条消息。 如果设备发送的消息较小,则这些消息可能会保留更长的时间(最多 7 天),具体取决于使用的存储。 我们保证至少在指定的保留期内保留数据。 保留时间过后,消息将过期并且将无法访问。

IoT 中心还支持用户管理内置设备到云接收终结点上的使用者组。 每个 IoT 中心最多可以有 20 个使用者组。

如果使用消息路由,并启用了回退路由,则与任何路由上的查询不匹配的所有消息都会写入内置终结点。 如果禁用此回退路由,将删除与任何查询都不匹配的消息。

可以使用 IoT 中心资源提供程序 REST API 以编程方式修改保留期时间,或通过 Azure 门户进行修改。

IoT 中心向后端服务公开 messages/events 内置终结点,让后端服务读取中心收到的设备到云消息。 该终结点与事件中心兼容,因此可以使用事件中心服务支持的任何机制读取消息。

从内置终结点读取信息

某些产品集成和事件中心 SDK 可以感知 IoT 中心,并让你使用 IoT 中心服务连接字符串连接到内置的终结点。

使用无法感知 IoT 中心的事件中心 SDK 或产品集成时,需要一个与事件中心兼容的终结点以及与事件中心兼容的名称。 可以从门户检索这些值,如下所示:

  1. 登录 [Azure 门户][lnk-management-portal]并导航到 IoT 中心。

  2. 单击“内置终结点”。

  3. “事件”部分包含以下值:“分区”、“与事件中心兼容的名称”、“与事件中心兼容的终结点”、“保留时间”、“使用者组”。

    设备到云的设置

在门户中,“与事件中心兼容的终结点”字段包含完整的事件中心连接字符串,如下所示:Endpoint=sb://abcd1234namespace.servicebus.chinacloudapi.cn/;SharedAccessKeyName=iothubowner;SharedAccessKey=keykeykeykeykeykey=;EntityPath=iothub-ehub-abcd-1234-123456。 如果所用 SDK 需求其他值,则这些值将会是:

名称
终结点 sb://abcd1234namespace.servicebus.chinacloudapi.cn/
主机名 abcd1234namespace.servicebus.chinacloudapi.cn
命名空间 abcd1234namespace

然后,可以从下拉菜单中选择任何共享访问策略,如上面的屏幕截图中所示。 它仅显示可用于连接到指定事件中心的具有“ServiceConnect”权限的策略。

可以用来连接到内置的、与事件中心兼容的且由 IoT 中心公开的终结点的 SDK 包括:

语言 SDK 中 IsInRole 中的声明 示例
.NET https://www.nuget.org/packages/Azure.Messaging.EventHubs 快速入门
Java https://mvnrepository.com/artifact/com.azure/azure-messaging-eventhubs 快速入门
Node.js https://www.npmjs.com/package/@azure/event-hubs 快速入门
Python https://pypi.org/project/azure-eventhub/ 快速入门

可以与内置的、与事件中心兼容的且由 IoT 中心公开的终结点配合使用的产品集成包括:

后续步骤

  • 有关 IoT 中心终结点的详细信息,请参阅 IoT 中心终结点

  • 快速入门介绍如何从模拟设备发送设备到云的消息,以及如何从内置终结点读取消息。

有关更多详细信息,请参阅使用路由处理 IoT 中心设备到云的消息教程。