使用企业版实例时,可以配置数据流转规则,将数据转发到实例内的时序数据存储中存储。本文以物模型数据上报Topic为例,介绍流转消息数据的完整流程。

前提条件

已创建数据源DataSource,并添加物模型数据上报Topic。具体步骤,请参见添加待流转的数据源

背景信息

实例内的时序数据存储结构,及其使用说明,请参见时序数据存储管理

本文示例中,写入时序数据库的数据如下:

  • timestamp:使用函数timestamp()获取设备上报数据的当前时间。
  • tag:使用函数deviceName()获取设备名称,写入标签{"deviceName":deviceName()}
  • metric:使用JSONPath方法,获取设备上报的物模型属性TemperatureHumidity的值,分别写入温、湿度的时序数据。

限制说明

  • 仅华东2(上海)、华北2(北京)、华南1(深圳)地域的企业版实例,支持实例内的时序数据存储。
  • 只支持JSON格式数据转发。
  • 转发的消息中,除了配置的timestamptag值字段外,其他字段都将作为metric写入时序数据存储。metric的数据类型支持数值型、字符串,其他类型会导致写入失败。

创建数据目的

  1. 登录物联网平台控制台
  2. 实例概览页面,选择目标环境,找到对应的实例,单击实例ID或备注名称。
    重要 目前仅开通企业版实例服务的地域下,执行此步骤。其他地域,请跳过此步骤。地域及实例的支持说明,请参见实例概述
    实例概览
  3. 在左侧导航栏,选择消息转发 > 云产品流转
  4. 可选:云产品流转页面,单击右上角体验新版,进入新版功能页面。
    说明 如果您已执行过此操作,再次进入云产品流转页面,会直接进入新版功能页面。
  5. 单击数据目的页签,然后单击创建数据目的
  6. 创建数据目的对话框,输入数据目的名称,例如DataPurpose,按照以下参数说明,完成配置,然后单击确定
    参数描述
    选择操作选择存储到实例内的时序数据存储中
    地域与您的物联网平台实例所在地域一致。
    metric数据类型选择metric的数据类型。支持数值型字符串

    您可单击帮助图标帮助查看详细说明。

配置并启动解析器

  1. 创建解析器,例如DataParser。具体操作,请参见创建解析器
  2. 解析器详情页面,关联数据源。
    1. 在配置向导的数据源下,单击关联数据源
    2. 在弹出的对话框中,单击数据源下拉列表,选择已创建的数据源DataSource,单击确定
  3. 解析器详情页面,关联数据目的。
    1. 单击配置向导的数据目的,然后单击数据目的列表右上方的关联数据目的
    2. 在弹出的对话框中,单击数据目的下拉列表,选择已创建的数据目的DataPurpose,单击确定
    3. 在数据目的列表,查看并保存数据目的ID,例如为1000
      后续解析脚本中,需使用此处的数据目的ID
  4. 解析器详情页面,单击解析器
  5. 在脚本输入框,输入解析脚本。脚本编辑方法,请参见脚本示例
    函数参数说明,请参见函数列表
    //通过payload函数,获取设备上报的消息内容,并按照JSON格式转换。
    var data = payload("json");
    //筛选出上报的温湿度值。
    var h = data.items.Humidity.value;
    var t = data.items.Temperature.value;
    //直接流转物模型上报数据。
    writeTsdb(1000,timestamp(),"temperature", t , {"deviceName":deviceName()});
    writeTsdb(1000,timestamp(),"humidity", h , {"deviceName":deviceName()});
  6. 单击调试,根据页面提示,选择产品和设备,输入Topic和Payload数据,验证脚本可执行。
    参数示例如下:示例

    运行结果如下,表示脚本执行成功。

    调试结果
  7. 单击发布
  8. 回到云产品流转页面的解析器页签,单击解析器DataParser对应的启动按钮,启动解析器。

执行结果

时序数据将通过数据流转,写入实例内的时序数据存储。您可以通过以下两种方式进行查询: