通过内置终结点读取设备到云的消息
默认情况下,消息将路由到与事件中心兼容的内置面向服务的终结点 (messages/events) 中。 此终结点目前仅通过端口 5671 上的 AMQP 协议和端口 443 上的基于 WebSockets 的 AMQP 公开。 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 或产品集成时,需要一个与事件中心兼容的终结点以及与事件中心兼容的名称。 可以从门户中检索这些值,如下所示:
登录 Azure 门户,导航到 IoT 中心。
单击“内置终结点”。
“事件”部分包含以下值:“分区”、“与事件中心兼容的名称”、“与事件中心兼容的终结点”、“保留时间”、“使用者组”。
在门户中,“与事件中心兼容的终结点”字段包含完整的事件中心连接字符串,如下所示: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 包括:
可以与内置的、与事件中心兼容的且由 IoT 中心公开的终结点配合使用的产品集成包括:
- Azure Functions。 请参阅适用于 Azure Functions 的 Azure IoT 中心绑定。
- Azure 流分析。 请参阅将数据作为流分析的输入进行流式传输。
- 时序见解。 请参阅向时序见解环境添加 IoT 中心事件源。
- Apache Spark 集成。
- Apache Kafka。 有关详细信息,请参阅适用于事件中心的 Apache Kafka 开发人员指南。
- Azure Databricks。
将 AMQP-WS 或代理与事件中心 SDK 一起使用
可以使用事件中心 SDK 在需要使用基于 WebSockets 的 AMQP 或需要通过代理进行读取的环境中从内置终结点读取数据。 有关详细信息,请参阅以下示例。
语言 | 示例 |
---|---|
.NET | ReadD2cMessages .NET |
Java | read-d2c-messages Java |
Node.js | read-d2c-messages Node.js |
Python | read-dec-messages Python |
后续步骤
有关更多详细信息,请参阅使用路由处理 IoT 中心设备到云的消息教程。
- 如果想要将设备到云的消息路由到自定义终结点,请参阅对设备到云的消息使用消息路由和自定义终结点。