打印

如何使用 meta 函数抽取在 EdgeX 消息总线中发送的其它信息?

[复制链接]
4893|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
keer_zu|  楼主 | 2020-12-20 11:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如何使用 meta 函数抽取在 EdgeX 消息总线中发送的其它信息?

当数据被发布到 EdgeX 消息总线的时候,除了真正的设备发出的值之外,还包含了一些额外的值,例如事件创建的时间,修改时间。有时在数据分析的时候需要这些值,本文描述如何使用 Kuiper 提供的函数来实现这个功能。
EdgeX 消息总线上收到的消息模型
在 EdgeX 消息总线上收到的数据结构如下,一个 Event 结构体封装了相关的「元数据」(ID, Pushed, Device, Created, Modified, Origin),以及从设备服务中采集到的实际数据 (在 Readings 字段中) 。
与Event 类似, Reading 也包含了一些元数据 (ID, Pushed... 等)。


Event
  • ID
  • Pushed
  • Device
  • Created
  • Modified
  • Origin
  • Readings
    • reading [0]
      • Id
      • Pushed
      • Created
      • Origin
      • Modified
      • Device
      • Name
      • Value
    • reading [1]
      • ... // The same as in reading[0]
      • ...
    • reading [n] ...





Kuiper 中的 EdgeX 数据模型
那么在 Kuiper 中, EdgeX 数据是如何被管理的?让我们来看个例子。
如下所示,首先用户创建了一个名为 events 的 EdgeX 流定义(以黄色高亮标示)。
其次,如下所示,一条消息被发送到消息总线。
  • Device name 为 demo,以绿色高亮标示
  • Reading 名称为 temperature & Humidity ,用红色高亮标示
  • 这里有些 元数据 是没有必要「可见」的,但是这些值在分析的时候可能会被用到,例如Event 结构体中的 Created 字段。Kuiper 将这些值保存在 Kuiper 消息中的名为 metadata 的字段中,用户在分析阶段可以获取到这些值。







使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:qq群:49734243 Email:zukeqiang@gmail.com

1349

主题

12426

帖子

53

粉丝