配置自定义Topic数据存储
通过数据存储的时序数据存储规则功能,可将指定的自定义Topic数据流转到时序数据存储空间进行存储。本文介绍如何通过配置时序存储规则,将自定义Topic数据存储到时序存储空间中。
前提条件
使用场景
-
如果需要存储自定义Topic数据用于查询,必须先创建时序数据存储规则。创建规则后,如果需要将其他自定义Topic数据写入时序存储,可以在控制台中修改时序数据存储规则,或者调用WriteDevicesHotStorageData。
-
如果需要长时间存储自定义Topic数据、降低存储成本、进一步处理自定义Topic数据例如数据分析、数据报表、数据API,可以开启数据备份,会自动在离线存储中创建相应的自定义存储表,表名称的格式为
时序存储规则${规则ID}-随机ID。关闭后再打开数据备份,会继续写入已创建的自定义存储表。
创建时序数据存储规则
每个实例下最多创建1000个时序数据存储规则。
-
登录物联网平台控制台。
-
在实例概览页面,找到对应的企业版实例,单击实例进入实例详情页面。
-
在左侧导航栏,选择数据服务 > 数据存储。
-
在时序存储页签下的存储规则页签,单击创建规则。
-
在配置向导页面,完成以下操作。
步骤一:配置基本信息
-
输入规则名称和规则描述。
参数
描述
规则名称
输入规则名称。支持中文、英文字母、日文、数字、下划线(_)和短划线(-),长度为1~30个字符,一个中文或日文占2个字符。
规则描述
规则描述信息。
-
单击下一步。如果单击取消,规则也已创建成功,可在存储规则列表查看已添加的存储规则,再配置数据源Topic和数据处理脚本。具体操作,请参见查看和更新时序数据存储规则。
步骤二:添加数据源Topic
每个规则下最多添加1,000个Topic。
-
在添加数据源Topic向导页面,单击添加Topic。
-
在弹出的对话框中,根据页面提示,选择产品、设备和自定义Topic。Topic支持以下通配符:
-
全部设备(+):指定产品下所有设备。 -
user/#:指定设备的所有自定义Topic。
-
-
单击确定。
添加自定义Topic成功后,数据源Topic列表显示已添加的Topic信息。
重要已添加自定义Topic不支持修改,您可先删除,然后重新添加。
数据源 Topic 列表包含 消息类型、Topic、ProductKey、DeviceName 和 操作 列。
-
(可选)重复以上步骤,可添加多个数据源Topic。
-
单击下一步。如果单击取消,可在规则详情页面,查看已添加的数据源Topic列表。具体操作,请参见查看和更新时序数据存储规则。
步骤三:编辑数据处理脚本
-
在编辑数据处理脚本向导页面的编辑脚本输入框中输入脚本,该脚本会解析自定义Topic数据,然后将解析结果存储到时序存储中。
重要同一时序数据存储规则下,同一字段Key和Value的数据类型必须保持不变。若发生改变(例如:int32类型改为text类型),则新数据的写入会失败,且无法再查询历史存储数据。
-
单击页面下方的保存,完成脚本编辑。
-
单击页面下方的调试。此时也会自动保存脚本草稿。
-
在右侧调试面板,根据页面提示,选择产品和设备,输入Topic和Payload数据,单击调试,验证脚本。
输入的Topic和Payload数据,与脚本解析逻辑相符即可。脚本编辑方法和示例,请参见脚本语法。示例中,产品选择温度计,Topic输入
user/update,Payload为JSON格式,items中包含Temperature(value: 38)和Humidity(value: 25)。运行结果中会显示脚本中声明的变量值和执行的数据存储函数。调试成功后,在 运行结果 页签中查看脚本执行结果,示例如下。
action: transmit to writeHotStorage[destinationId=0], data :{"25":25,"38":38,"10":10} variables: c : 10 data : {"deviceType":"CustomCategory","requestId":"1xxx47","productKey":"gxxxLh","gmtCreate":1626948134445,"deviceName":"E81Hxxxco","items":{"Temperature":{"time":1626948134319,"value":38},"Humidity":{"time":1626948134319,"value":25},"2Co":{"time":1626948134319,"value":10}}} t : 38 h : 25 fields : {"25":25,"38":38,"10":10} -
单击调试面板的关闭。
-
(可选)单击页面下方的发布。此时还可以编辑、重新调试或发布脚本。
-
单击完成并发布。此时会关闭配置向导页面,完成规则的所有的配置。
-
返回时序存储>规则存储页签,单击规则对应的启动。规则启动后,设备上报的自定义Topic数据即可按照解析脚本进行存储。
查看和更新时序数据存储规则
-
在时序存储页签下的存储规则页签下, 找到对应的存储规则,单击对应操作列的查看。
-
在规则详情页面,查看规则信息,包括规则ID、创建时间、数据源Topic数量及列表、数据处理脚本信息等。
-
按照以下操作步骤,查看和更新规则。
编辑规则基本信息
-
单击右上角编辑。
-
在编辑规则对话框,修改规则名称和规则描述。
更新数据源Topic
在数据源Topic页签:
-
单击添加Topic,参考上文步骤二:添加数据源Topic,新增更多数据源Topic。
-
在Topic列表中,单击目标Topic操作列的删除,会从数据源Topic列表删除对应Topic。
更新数据处理脚本
-
单击数据处理脚本页签。
-
在编辑脚本输入框上方,单击编辑草稿。
-
在编辑脚本输入框中,修改脚本。
-
依次单击页面下方保存、调试和发布,完成脚本更新。
可选操作
在时序存储>规则存储页签: