全部产品
存储与CDN 数据库 安全 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网 钉钉智能硬件
阿里云物联网套件

数据转发到HiTSDB

更新时间:2017-12-21 17:24:19

存储到时间序列数据库(HiTSDB)中

用户可以通过在控制台上配置规则引擎将物联网套件中的数据转发到时间序列数据库(HiTSDB)的实例中。想要了解更多HiTSDB信息的,请参考文档时序数据库HiTSDB

  • 发布的节点有华东2
  • 只支持专有网络下HiTSDB实例
  • 只支持同region转发,不支持跨region转发,举个例子,华东2节点的套件数据只能转发到华东2的HiTSDB中
  • 只支持JSON格式数据转发
具体操作

hitsdb

操作说明:

  • 选择存储到高性能时间序列数据库(HiTSDB)操作。选择时间序列数据库实例。如果没有资源,需要去HiTSDB控制台创建相应的资源。
  • timestamp的值必须为Unix时间戳,如1404955893000,有如下两种配置方式:

    • 使用转义符${}表达式,例如${time},此时timestamp的值为Topic中的time字段对应的值,建议使用此方式;
    • 使用规则引擎函数timestamp(),此时timestamp的值为规则引擎服务器的时间戳;
  • tag必须使用常量配置;值有三种配置方式:

    • 使用转义符${}表达式,例如${city},此时值为Topic中的city字段对应的值,建议使用此方式;
    • 使用规则引擎函数规定的一些函数,例如deviceName(),此时值为deviceName;
    • 使用常量配置,例如beijing,此时值为beijing;
  • 授权: 同意物联网套件向HiTSDB写数据, 会向时间序列数据库实例中添加网络白名单,用于IoT访问您的数据库, 请勿删除;

举例:

假如规则引擎的SQL:

  1. SELECT time,city,power,distance, FROM "/myproduct/myDevice/update"`;

配置的规则如上图所示;

  1. 发送的消息:
  2. {
  3. "time": 1513677897,
  4. "city": "beijing",
  5. "distance": 8545,
  6. "power": 93.0
  7. }

结果:规则引擎会向高性能时间序列数据库中写入两条数据:

    1. 数据:timestamp:1513677897, [metric:distance value:8545]
    2. tag device=myDevice,product=bikes,cityName=beijing
    1. 数据:timestamp:1513677897, [metric:power value:93.0]
    2. tag:device=myDevice,product=bikes,cityName=beijing
特别注意:
  • 发送的消息中除了在规则引擎中配置为timestamp或者tag值的字段外,其他字段都将作为metric写入时间序列数据库。如上例所示除了time和city以外,distance和power作为两个metric写入数据库。
  • metric的值只能为数值类型,否则会导致写入数据库失败。
  • 用户要保证在规则引擎中配置的tag-值键值对能够获取到,如果获取不到任意一个tag-值键值对,会导致写入数据库失败。
  • tag-值键值对限制最多输入8个。
  • metric、tag和tag值只可包含大小写英文字母、中文、数字,以及特殊字符-_./():,[]=‘
  • 规则引擎为了连接HiTSDB,会在HiTSDB的白名单中添加,不同节点会添加不同白名单:
    • 华东2:100.104.76.0/24

这些IP段不能删除,不然物联网套件就无法连接HiTSDB,进而也就无法将数据写进HiTSDB数据库中。如果没有此记录请手工添加。

下图展示的就是HiTSDB控制台的白名单,当用户使用规则引擎将数据写进HiTSDB某个数据库实例时,就会在白名单中出现。白名单

• 规则引擎只是负责将Topic中的数据写进HiTSDB实例中,不会做其他操作。

本文导读目录