tencent cloud

物联网通信

动态与公告
产品动态
产品简介
产品概述
产品功能
产品优势
应用场景
产品限制
基本概念
快速入门
快速开始
场景一:设备互通
场景二:设备状态上报与状态设置
MQTT.fx接入指南
控制台使用手册
产品管理
规则引擎
子账号访问IoT
固件升级
资源管理
证书管理
开发者手册
功能组件
签名方法
设备身份认证
设备接入协议
网关子设备
消息通信
设备影子
设备固件升级
设备远程配置
资源管理
设备日志上报
NTP服务
设备端接入手册
设备接入概述
基于C SDK接入
基于 Android SDK 接入
基于 Java SDK 接入
基于 Python SDK 接入
API 文档
History
Introduction
API Category
Making API Requests
Device Shadow APIs
Device APIs
CA Certificate APIs
Product APIs
Data Types
Error Codes
常见问题
一般性问题
设备接入和上报问题
规则引擎问题
控制台相关问题
IoT Hub 政策
隐私协议
数据处理和安全协议
词汇表

数据转发到另一Topic

PDF
聚焦模式
字号
最后更新时间: 2024-12-27 10:29:42

概述

通过将感兴趣的消息字段转发到另一个 Topic,即可实现不同设备间的 M2M 通信。Topic 的填写支持以下方式:
填写一个 Topic 名字 例如 ${productId}/house_monitor/thermometer,即可将满足规则的消息转发到这个 Topic。
填写带变量的 Topic 名字 例如 ${productId}/${house}/device,其中用 ${} 括起来的 house 就代表一个变量名,这个变量名是 SELECT 语句中选取出来的字段内容。

示例说明

该示例主要说明带变量的转发 Topic 是如何生效的。假设定义了一条规则,示例如下:
SELECT temperature as t, house
FROM house_monitor/thermometer/get
WHERE house="tencent" AND temperature > 40
此规则从消息中提取了 thouse 这两个字段的值,假定 house 字段的内容为 tencent。 此时如果定义了转发给 house_monitor/${house}/app这个 Topic,那么规则引擎则会将这个 Topic 中的 ${house} 变量替换为 "tencent", 从而将 thouse 的字段内容发送给 house_monitor/tencent/app` 这个 Topic。
转发全过程如下图所示:
image



配置

1. 登录 物联网通信控制台,选择左侧菜单栏规则引擎,单击需要配置的规则。
2. 在规则详情页面,单击添加行为操作
3. 在弹出的“添加规则”窗口,填写相关信息。单击保存即可。
选择行为类型为“republish”。
填写要转发至的 Topic 名称。



物联网通信平台即可将上报数据发转至该 Topic。

转发消息服务质量等级

消息从源 Topic 转发到其它 Topic 时消息服务质量等级不会变化。
设备端发布的消息服务质量等级为 QOS0 时则规则引擎将按照 QOS0 的消息进行转发,发布的消息服务质量等级为 QOS1 时则按照 QOS1 进行转发。
转发的消息服务质量等级为0时,若转发失败则消息会被丢弃;转发的消息服务质量等级为1,若消息转发失败则会进行转发重试。重试按照3s,6s,9s的时间间隔依次进行三次,若三次重试均失败则将消息保存在离线消息队列。

帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈