数据转发到时序数据库(TSDB)

您可以配置数据流转规则,将处理过的数据转发到时序数据库(TSDB)的实例中存储。本文介绍将数据流转到数据目的地的完整流程。

前提条件

  • 已确认当前物联网平台实例及所在地域支持将数据转发到时序数据库(TSDB)。支持的地域详细信息,请参见各地域功能说明

  • 已在华东2(上海)地域创建专有网络下的TSDB实例。详细内容,请参见时序数据库(TSDB)文档
    重要 时序数据库(TSDB)实例于2022年04月06日停止新购,建议您将数据流转到时序数据库(Lindorm)。使用方法,请参见数据转发到时序数据库(Lindorm)

    对于2022年04月06日(不包含)前已经购买的TSDB实例支持正常续费和升配。

  • 已创建数据转发规则和编写处理数据的SQL。具体操作,请参见设置数据流转规则

背景信息

转发的数据目的配置完成后,会自动完成以下配置,实现设备数据通过物联网平台的规则引擎转发到时序数据库(TSDB)。

  • 物联网平台占用TSDB实例所在虚拟交换机的2个IP地址;将虚拟交换机的IPv4网段配置到TSDB实例的白名单中。
  • 在TSDB实例所在的VPC网络下创建托管安全组,安全组名称默认以sg-nsm-开头。

限制说明

  • 仅支持同地域转发。例如:华东2(上海)的物联网平台实例数据只能转发到华东2(上海)的TSDB实例中。
  • 仅支持转发到专有网络(VPC)下的TSDB实例。
  • 仅支持转发JSON格式数据。
  • 转发的消息中,除了配置为timestamptag值的字段外,其他字段都将作为metric写入时序数据库。metric的数据类型支持数值型、字符串,其他类型会导致写入数据库失败。

使用说明

目前,新版和旧版云产品流转功能均支持将数据流转到时序数据库(TSDB)。新版云产品流转使用示例,请参见新版:数据转发到时序数据库(TSDB)

操作步骤

  1. 登录物联网平台控制台
  2. 实例概览页签的全部环境下,找到对应的实例,单击实例卡片。

  3. 在左侧导航栏,选择消息转发 > 云产品流转
  4. 单击规则对应的查看,进入数据流转规则页面。
    重要 若当前页面为云产品流转新版页面,需先单击右上角返回旧版,再单击目标规则对应的查看
  5. 单击转发数据一栏对应的添加操作
  6. 添加操作对话框中,选择操作为存储到时序数据库(TSDB)中。按照界面提示,设置其他信息,单击确认
    参数描述
    选择操作选择存储到时序数据库(TSDB)中
    地域固定为您的物联网平台实例所在地域:华东2(上海)
    TSDB实例选择数据转发目标为您已创建的专有网络(VPC)下的TSDB实例。
    metric数据类型选择metric的数据类型。支持数值型字符串

    更多信息,可单击帮助按钮帮助查看。

    timestamp时间戳。支持:
    • 使用转义符${}表达式,例如${time},表示取值为数据源Topic消息中time字段对应的值。
    • 使用数据流转函数timestamp(),表示取值为数据流转服务器的时间戳。
    • 输入值,必须为Unix时间戳,例如1404955893000。
    tag名称设置标记数据的标签名。支持中文汉字、英文字母、数字和特殊字符,包括:半角冒号(:)、逗号(,)、英文句号(.)、单引号(')、正斜线(/)、短划线(-)、下划线(_)、圆括号(())、方括号([])。
    tag值设置标签值。支持:
    • 使用转义符${}表达式。例如,数据源Topic的消息结构中,包含一个位置属性,标识符为city,则可以指定标签值为${city},表示消息中city字段对应的值。建议使用此方式。
    • 使用数据流转函数规定的一些函数,例如deviceName(),表示标签值为设备名称。支持的函数,请参见函数列表
    • 输入常量,例如beijing。支持输入中文汉字、英文字母、数字和特殊字符,包括:半角冒号(:)、逗号(,)、英文句号(.)、单引号(')、正斜线(/)、短划线(-)、下划线(_)、圆括号(())、方括号([])。
    说明
    • 最多可添加8个tag名称、tag值。
    • 需保证TSDB能够获取到配置的tag名称和值,如果获取不到任意一个tag的名称和值,会导致写入数据库失败。
    角色授权物联网平台将数据写入TSDB。
  7. 回到云产品流转页,单击规则对应的启动按钮启动规则。

数据流转示例

示例规则的SQL:

SELECT time,city,power,distance FROM "/alprodu****/myDevice/user/update";

规则引擎根据SQL处理数据和写入数据到TSDB如下。

  1. 根据该SQL,规则引擎从Topic /alprodu****/myDevice/user/update的消息中,筛选出timecitypower、和distance字段内容,作为转发的消息内容。

    通过以上SQL处理后的转发消息内容示例如下:

    {
    "time": 1513677897,
    "city": "beijing",
    "distance": 8545,
    "power": 93.0
    }
  2. 根据已配置的数据流转操作,规则引擎向TSDB中写入的两条数据。

    示例中写入TSDB的数据如下:

    • 数据: timestamp:1513677897, [metric:power value:93.0]
      tag: cityName=beijing
    • 数据: timestamp:1513677897, [metric:distance value:8545]
      tag: cityName=beijing

    写入TSDB的数据说明:

    以上转发的消息中,除了配置为timestamptime字段和配置为tag值city字段外,其他字段(powerdistance)都作为metric写入时序数据库。

操作样例

通过TSDB实现楼宇环境监测