通过内置终结点读取设备到云的消息
默认情况下,消息将路由到与事件中心兼容的内置面向服务的终结点 (messages/events) 中。 IoT 中心向后端服务公开 messages/events 内置终结点,让后端服务读取中心收到的设备到云消息。 此终结点与事件中心兼容,这样就可以使用事件中心服务支持的任何机制读取消息。
如果正在使用消息路由并启用了回退路由,则一个与任何路由上的查询都不匹配的消息将进入内置终结点。 如果禁用此回退路由,则会删除与任何查询都不匹配的消息。
此终结点目前仅通过端口 5671 上的 AMQP 协议和端口 443 上的基于 WebSockets 的 AMQP 公开。 IoT 中心公开以下属性,以便你控制内置的与事件中心兼容的消息传送终结点 messages/events。
properties | 说明 |
---|---|
分区计数 | 在创建时设置此属性,以便为设备到云事件引入定义分区数。 |
保留时间 | 此属性指定 IoT 中心保留消息的天数。 默认值为一天,但可以增加到七天。 |
通过 IoT 中心,可将数据保留在内置终结点中最长 7 天。 可以在创建 IoT 中心时设置保留时间。 IoT 中心的数据保留时间取决于 IoT 中心层和单元类型。 就大小来说,内置终结点可保留最大大小的消息,最长可达至少 24 小时的配额。 例如,一个 S1 单元 IoT 中心提供的存储足以保留至少 400,000 条消息,每条消息 4 KB。 如果设备发送的消息较小,则这些消息可能会保留更长的时间(最多 7 天),具体取决于使用的存储。 我们保证至少在指定的保留时间内保留数据。 在保留时间之后,消息将过期并且无法访问。 可以使用 IoT 中心资源提供程序 REST API 以编程方式修改保留时间,或通过 Azure 门户进行修改。
IoT 中心还支持管理内置终结点上的使用者组。 每个 IoT 中心最多可以有 20 个使用者组。
连接到内置终结点
某些产品集成和事件中心 SDK 可以感知 IoT 中心,并让你使用 IoT 中心服务连接字符串连接到内置的终结点。
如果你使用的是不识别 IoT 中心的事件中心 SDK 或产品集成,则需要与事件中心兼容的终结点和与事件中心兼容的名称。 可以从门户中检索这些值,如下所示:
登录 Azure 门户,导航到 IoT 中心。
从资源菜单中的“中心设置”下选择“内置终结点”。
“内置终结点”工作窗格包含三个部分:
- “事件中心详细信息”部分包含以下值:“分区”、“与事件中心兼容的名称”、“保留时间”和“使用者组”。
- “与事件中心兼容的终结点”部分包含以下值:“共享访问策略”和“与事件中心兼容的终结点”。
- “云到设备消息传送”部分包含以下值:“默认 TTL”、“反馈保留时间”和“最大传送计数”。
在工作窗格中,“与事件中心兼容的终结点”字段包含完整的事件中心连接字符串,如以下示例所示:
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”权限的策略。
SDK 示例
可用于连接到 IoT 中心公开的与事件中心兼容的内置终结点的 SDK 包括:
连接到其他服务和产品
可用于 IoT 中心公开的与事件中心兼容的内置终结点的产品集成包括:
-
有关详细信息,请参阅 Azure Functions 的 Azure IoT 中心绑定。
-
有关详细信息,请参阅将数据作为流分析的输入进行流式传输。
-
有关详细信息,请参阅将 IoT 中心事件源添加到 Azure 时序见解环境。
-
有关详细信息,请参阅适用于 Azure 事件中心的 Apache Kafka 开发人员指南。
后续步骤
有关 IoT 中心终结点的详细信息,请参阅 IoT 中心终结点。
如果想要将设备到云的消息路由到自定义终结点,请参阅对设备到云的消息使用消息路由和自定义终结点。