:::info
匹配版本:V3.20
页面状态:翻译中
原文地址:点击跳转
:::
批量添加概述
ThingsBoard 支持以下类型的实体使用 CSV 文件进行批量添加:
- 设备
- 资产
不同实体可能有以下参数:
- 属性 - 与实体关联的静态和半静态键值对。例如,序列号、型号、固件版本;
- 遥测数据 - 可用于存储、查询和可视化的时序数据种类。例如,温度,湿度,电池电量;
- 证书 - 用于设备上运行的应用程序连接到
ThingsBoard
服务器。
导入实体
要同时创建多个实体,您只需要创建一个 CSV 文件,其中每一行将负责创建一个具有给定参数的实体。
如果不需要为特定实体添加某些设置,请将此单元格保留为空。
有两个保留参数名称: Name
和 Type
,它们已定义好的列类型。
步骤1.选择一个文件
将一个 CSV 文件上传至服务器。
步骤2.配置导入参数
对于上传的文件,您需要配置以下参数:
- CSV 分隔符 - 数据行中值之间的分隔字符;
- 第一行包含列名称 - 如果激活该选项,文件的第一行将用作下一步参数名的默认值;
- 更新属性/遥测数据 - 如果激活此参数,对于名称与 ThingsBoard 中已有实体相匹配的所有实体,将更新参数值。否则,如果 ThingsBoard 系统中已经存在相同名称的所有实体,将显示一条错误消息。
步骤3.选择列类型
在此步骤中,您需要将下载文件的列与 ThingsBoard 平台中的数据类型对应起来。你也可以设置或改变属性与遥测数据的键的默认名称。
步骤4.创建新的实体
处理输入数据。
步骤5.完成
查询执行的结果: 已创建或更新的实体数量与执行过程中发生的错误数量。
使用案例
假设我们想同时创建10个设备并给它们一个访问令牌。
示例文件如下:
resources/test-import-device.csv
name,type,Data1,Data2,Data3,Data4,Data5,Data6,Data7,Data8,Data9,Data10
Device 1,testImport,123,test,TRUE,FALSE,123.55,test,test,test,test,AbfdgrRetGF45
Device 2,testImport,123,test,TRUE,FALSE,123.55,test,test,test,test,AbfdgrRetGF45
Device 3,testImport,123,test,TRUE,FALSE,123.55,test,test,test,test,AbfdgrRetGF45
Device 4,testImport,123,test,TRUE,FALSE,123.55,test,test,test,test,AbfdgrRetGF48
Device 5,testImport,123,,TRUE,FALSE,123.55,test,test,test,test,AbfdgrRetGF49
Device 6,testImport,123,test,TRUE,FALSE,123.55,test,test,test,test,AbfdgrRetGF50
Device 7,testImport,123,test,TRUE,FALSE,123.55,test,test,test,test,AbfdgrRetGF51
Device 8,testImport,123,test,TRUE,FALSE,123.55,test,test,test,test,AbfdgrRetGF52
Device 9,testImport,123,test,TRUE,FALSE,123.55,test,test,test,test,AbfdgrRetGF53
Device 10,testImport,123,test,TRUE,FALSE,123.55,test,test,test,test,AbfdgrRetGF54
注意: 文件应该包含至少两列: name 和 type。
文件是使用CSV文件编辑器创建的,它包含10个设备的数据。另外,设备5
省略了Data2
参数,它不会为该设备创建Data2
参数。
上传文件
点击 设备 -> 导入设备
上传示例文件: test-import-device.csv
配置导入参数
- CSV 分隔符 - 选择编辑器分隔符号。在示例文件分隔符中
","
; - 第一行包含列名称 - 示例文件中包含了列名称,所以我们选中此项;
- 更新 属性/遥测 - 不选择此项,因为我们是增加新的设备而不是更新Thingsboard平台中已存在设备的参数。
选择列类型
表的第一列展示了包含数据的第一个文件行。
由于 First line contains column names 选项是在上一步中设置的,所以第三列的值已经在文档的第一行就已经初始化完成。
让我们更改一些属性。将第三行中的列类型更改为时间序列并设置属性
/遥测
的键值,例如,Temperature。
下表中的最后一行负责令牌,因此将 Server attribute 改为Access token*。
注意:** 只能为一行选择Name
、Type
和Access token
等列类型。
导入完成
创建过程完成后,将显示一些统计信息。
在下面的示例中,我们可以看到成功创建了8个设备,并且在创建2个设备时发生了一个错误。原因是设备1、设备2和设备3在给定的示例文件中具有相同的令牌。ThingsBoard系统禁止这样做。