设备接入 IoTDA
设备接入 IoTDA
- 最新动态
- 功能总览
- 服务公告
- 计费说明
- 产品介绍
- 快速入门
- 用户指南
- 最佳实践
- 开发指南
-
API参考
- 应用侧API参考
- 设备侧MQTT/MQTTS接口参考
- 设备侧HTTPS接口参考
- 设备侧LwM2M接口参考
- 安全隧道WebSocket接口参考
- 模组AT指令参考
- 修订记录
- SDK参考
- 场景代码示例
-
常见问题
- 热门问题
-
方案咨询
- 连接IoT平台的业务场景有哪些?
- 设备管理服务和设备接入服务合一后的差异点是什么?
- IAM子用户或子项目是否可以开通物联网平台服务?
- 物联网平台支持在华为云的哪些区域开通?
- 华为是否提供模组/硬件终端/应用软件等?
- IAM用户访问API提示没有权限?(是否区分版本?)
- 创建规则或者设置资源文件存储时候提示赋予Security Administrator权限
- 物联网平台设置默认资源空间的规则是什么?
- 设备接入服务如何获取设备数据?
- 物联网平台的资源空间和设备可以无限创建吗?
- 物联网平台支持批量注册设备吗?
- 物联网平台对应用侧和设备侧在开发或使用时有限制吗?
- 物联网平台支持的DTLS加密算法有哪些?
- 物联网平台支持二进制大小端模式切换吗?
- 什么是NB-IoT?
- 物联网平台支持的硬件架构和使用的相关组件有哪些?
- 如何获取平台接入地址?
- 设备集成相关问题
- 设备侧SDK相关问题
- 设备发放相关问题
- LWM2M/CoAP接入相关问题
- MQTT接入相关问题
- 泛协议接入相关问题
- 物模型相关问题
- 消息通信相关问题
- 订阅推送相关问题
- 编解码插件相关问题
- OTA升级相关问题
- 应用集成相关问题
- 实例管理相关问题
- 视频帮助
- 文档下载
- 通用参考
链接复制成功!
异常数据转发目标
概述
在数据被转发至华为云其他服务或第三方应用时,若由于云服务权限不足、 华为云其他服务或第三方应用不可用等原因导致目标服务器不可达,物联网平台会停止消息的推送,并每三分钟进行一次通道恢复探测,若探测成功,通道将恢复正常使用。如果用户消息实时性要求高,为降低通道故障对业务的影响,用户可通过配置异常数据转发目标来获取异常转发数据,以便继续进行业务处理和分析失败原因,从而降低因单一通道异常而对业务产生的影响。
图1 异常数据转发目标示例

在转发规则配置异常数据转发目标后,24小时内若正常数据转发目标不可达,数据将会被直接推送至异常数据转发目标。若超过24小时正常数据转发目标仍未恢复,物联网平台将暂停数据推送。
使用限制
- 当且仅当存在一个正常数据转发目标时,支持添加一个异常数据转发目标。
- 每个IoTDA实例最多支持创建5个异常数据转发目标。
- 支持异常数据转发目标的规则数据来源:设备、设备属性、设备消息、设备消息状态、设备状态、批量任务、产品和设备异步命令状态。
- 支持配置异常数据转发的正常转发目标类型:数据接入服务(DIS)、分布式消息服务(Kafka)、对象存储服务(OBS)、应用与数据集成平台(ROMA Connect)、第三方应用服务(HTTP推送)、分布式消息服务(RocketMQ)、函数工作流服务 (FunctionGraph)、云数据库(GeminiDB Influx)、云数据库 MySQL(RDS)、MapReduce服务(MRS Kafka)、区块链服务(BCS)和文档数据库服务(DDS)。
- 支持作为异常转发目标的通道类型:AMQP推送消息队列。
异常转发数据格式
异常转发数据格式示例如下:
{ "request_id": "2131d048-234f-4564-9190-6030234678ad", "rule_id": "6519d048-3b7f-442b-9190-6030773879cc", "action_id": "f376ab9f-d060-4fbf-a383-3e52af98ae9d", "channel": "MYSQL_FORWARDING", "base64_original_payload": "ewogICAgInJlc291cmNlIjogImRldmljZS5tZXNzYWdlIiwKICAgICJldmVudCI6ICJyZXBvcnQiLAogICAgImV2ZW50X3RpbWUiOiAiMjAyNDA2MDFUMDAwMDAwWiIsCiAgICAiZXZlbnRfdGltZV9tcyI6ICIyMDI0LTA2LTAxVDAwOjAwOjAwLjAwMFoiLAogICAgInJlcXVlc3RfaWQiOiAiMjEzMWQwNDgtMjM0Zi00NTY0LTkxOTAtNjAzMDIzNDY3OGFkIiwKICAgICJub3RpZnlfZGF0YSI6IHsKICAgICAgICAiaGVhZGVyIjogewogICAgICAgICAgICAiYXBwX2lkIjogIjU4N2MyMzc3ZGRmYzQzMmI4OTMxZGNhYmNhODkyOTUyIiwKICAgICAgICAgICAgImRldmljZV9pZCI6ICIwMDAwMDAwMDAwMDAwMCIsCiAgICAgICAgICAgICJub2RlX2lkIjogIjIwMjAwNzExMTk5OTkxMDAwIiwKICAgICAgICAgICAgInByb2R1Y3RfaWQiOiAiMTIzNDU2Nzg5MDAiLAogICAgICAgICAgICAiZ2F0ZXdheV9pZCI6ICIyMDIwMDcxMTE5OTk5MTAwMCIKICAgICAgICB9LAogICAgICAgICJib2R5IjogewogICAgICAgICAgICAidG9waWMiOiAidGVzdFRvcGljIiwKICAgICAgICAgICAgImNvbnRlbnQiOiAiV2VsY29tZSB0byBIdWF3ZWkgQ2xvdWQgSW9UIERldmljZSBBY2Nlc3MoSW9UREEpIgogICAgICAgIH0KICAgIH0KfQo=", "error_message": "Push failed. Cause: Table 'xxx' doesn't exist. The iot platform will resume the push within 3 minutes after the channel is restored." }
参数 |
参数类型 |
描述 |
---|---|---|
request_id |
String |
推送异常的消息ID,由设备侧指定或平台生成,用于跟踪业务流程。 |
rule_id |
String |
推送异常的规则触发条件ID,用于唯一标识一条规则触发条件,在创建规则时由物联网平台分配获得。 |
action_id |
String |
推送异常的数据转发目标ID,用于唯一标识一个数据转发目标,在创建数据转发目标时由物联网平台分配获得。 |
channel |
String |
推送异常的数据转发目标类型。 |
base64_original_payload |
String |
经过Base64编码的原始流转数据。 |
error_message |
String |
错误的描述和说明。 |
异常转发数据格式可能存在增加字段的情况,在使用的时候务必做好序列化兼容性。
操作步骤
- 访问设备接入服务,单击“管理控制台”进入设备接入控制台。选择您的实例,单击实例卡片进入。
- 选择“规则 > 数据转发” ,进入数据转发界面,单击 “创建规则” ,进入规则创建界面。
图2 数据转发-创建规则
- 在新建数据转发规则界面中填写相关信息后,单击“创建规则”完成规则创建。
图3 新建消息上报流转规则-数据转发至Kafka
- 创建完成规则后,进入设置转发目标页面,单击“添加”,添加一个正常数据转发目标。
图4 添加正常数据转发目标
- 添加完成后,可以单击“添加”,添加一个异常数据转发目标。
图5 添加异常数据转发目标
- 添加完成后单击“启动规则”进行规则激活。
图6 数据转发-启动规则
父主题: 规则引擎