对设备到云的消息使用消息路由和自定义终结点
IoT 中心允许基于消息属性将设备到云的消息路由到面向 IoT 中心服务的终结点。 使用路由规则可将消息灵活发送到所需目标位置,无需借助其他服务或自定义代码。 配置的每个路由规则都具有以下属性:
属性 | 说明 |
---|---|
名称 | 用于标识规则的唯一名称。 |
源 | 要处理的数据流的来源。 例如,设备遥测。 |
条件 | 路由规则的查询表达式,针对消息的标头和正文运行,确定消息是否与终结点匹配。 有关构造路由条件的详细信息,请参阅 参考 - 设备孪生和作业的查询语言。 |
终结点 | IoT 中心将匹配条件的消息发送到的终结点的名称。 终结点应与 IoT 中心位于同一区域,否则跨区域写入将产生费用。 |
一条消息可能与多个路由规则的条件匹配,在这种情况下,IoT 中心会将该消息传递到与每个匹配规则关联的终结点。 IoT 中心还会自动删除重复的消息传递,因此如果消息与具有相同目标的多个规则匹配,则仅会将其写入该目标位置一次。
IoT 中心有一个默认的内置终结点。 通过将订阅中的其他服务链接到中心,可以创建要将消息路由到的自定义终结点。 IoT 中心目前支持将 Azure 存储容器、事件中心、服务总线队列和服务总线主题用作自定义终结点。
使用路由和自定义终结点时,如果消息不与任何规则匹配,则只会将其传送到内置终结点。 若要将消息同时传送到内置终结点和自定义终结点,请添加一个可将消息发送到 events 终结点的路由。
Note
IoT 中心仅支持将数据作为 blob 写入 Azure 存储容器。
Warning
不支持将已启用会话或重复项检测的服务总线队列和主题用作自定义终结点。
有关在 IoT 中心创建自定义终结点的详细信息,请参阅 IoT 中心终结点。
有关从自定义终结点读取数据的详细信息,请参阅:
- 从 Azure 存储容器读取。
- 从事件中心读取数据。
- 从服务总线队列读取数据。
- 从服务总线主题读取数据。
后续步骤
有关 IoT 中心终结点的详细信息,请参阅 IoT 中心终结点。
有关用于定义路由规则的查询语言的详细信息,请参阅用于设备孪生、作业和消息路由的 IoT 中心查询语言。
使用路由处理 IoT 中心设备到云的消息教程介绍了如何使用路由规则和自定义终结点。