产品定价 立即试用
社区版
文档 > 规则引擎 > 数据处理与操作 > 使用前一条记录转换遥测数据
入门
指南 安装 架构 API 常见问题
目录

使用前一条记录转换 telemetry

使用场景

假设设备上报与用水量对应的绝对「counter」值。 而您希望可视化「delta」值(如过去一天/一周/一月的用水量)而非绝对值。

本教程将根据当前读数与前一条读数计算 counter 的「delta」。

假设上一条上报的 counter 值是 90,则入站 telemetry:

1
2
3
{
  "counter": 100
}

会被转换为:

1
2
3
4
{
  "counter": 100,
  "delta": 10
}

前置条件

请先完成以下指南并阅读相关文章:

步骤 1:添加数据补全节点

我们将修改默认 rule chain,新增一个 enrichment 节点,从数据库读取上一条 telemetry 值并写入消息 metadata。

image

节点配置如下:

image

请注意:如果缺少 counter 值,该节点会返回失败。 我们将在下一步设置默认的上一计数值,以避免这类失败。

步骤 2:设置默认上一计数值

这个 transformation 节点会在入站消息 metadata 中写入默认 counter。 这样在下一步计算时,若无历史值,delta 默认就是 0。

image

步骤 3:Delta 转换节点

transformation 节点会基于 metadata 中的上一计数值和消息中的当前值计算 delta。

image

步骤 4:配置 Dashboard 查看数据

我们添加了一个简单的卡片部件,用于展示 rule chain 生成的最新数值。

image

快速导入

下载并导入本教程附带的 rule chain json file。 不要忘记将新 rule chain 设为 root

image

下载并导入本教程附带的 dashboard json file

下一步