:::info 匹配版本:V3.20
页面状态:翻译中
原文地址:点击跳转 :::

批量添加概述

ThingsBoard 支持以下类型的实体使用 CSV 文件进行批量添加:

  • 设备
  • 资产

不同实体可能有以下参数:

  • 属性 - 与实体关联的静态和半静态键值对。例如,序列号、型号、固件版本;
  • 遥测数据 - 可用于存储、查询和可视化的时序数据种类。例如,温度,湿度,电池电量;
  • 证书 - 用于设备上运行的应用程序连接到ThingsBoard服务器。

导入实体

要同时创建多个实体,您只需要创建一个 CSV 文件,其中每一行将负责创建一个具有给定参数的实体。
如果不需要为特定实体添加某些设置,请将此单元格保留为空。
有两个保留参数名称: NameType,它们已定义好的列类型。

步骤1.选择一个文件

将一个 CSV 文件上传至服务器。
批量配置 - 图1

步骤2.配置导入参数

对于上传的文件,您需要配置以下参数:

  • CSV 分隔符 - 数据行中值之间的分隔字符;
  • 第一行包含列名称 - 如果激活该选项,文件的第一行将用作下一步参数名的默认值;
  • 更新属性/遥测数据 - 如果激活此参数,对于名称与 ThingsBoard 中已有实体相匹配的所有实体,将更新参数值。否则,如果 ThingsBoard 系统中已经存在相同名称的所有实体,将显示一条错误消息。
    批量配置 - 图2

步骤3.选择列类型

在此步骤中,您需要将下载文件的列与 ThingsBoard 平台中的数据类型对应起来。你也可以设置或改变属性与遥测数据的键的默认名称。
批量配置 - 图3

步骤4.创建新的实体

处理输入数据。

步骤5.完成

查询执行的结果: 已创建或更新的实体数量与执行过程中发生的错误数量。
批量配置 - 图4

使用案例

假设我们想同时创建10个设备并给它们一个访问令牌。
示例文件如下:

resources/test-import-device.csv

  1. name,type,Data1,Data2,Data3,Data4,Data5,Data6,Data7,Data8,Data9,Data10
  2. Device 1,testImport,123,test,TRUE,FALSE,123.55,test,test,test,test,AbfdgrRetGF45
  3. Device 2,testImport,123,test,TRUE,FALSE,123.55,test,test,test,test,AbfdgrRetGF45
  4. Device 3,testImport,123,test,TRUE,FALSE,123.55,test,test,test,test,AbfdgrRetGF45
  5. Device 4,testImport,123,test,TRUE,FALSE,123.55,test,test,test,test,AbfdgrRetGF48
  6. Device 5,testImport,123,,TRUE,FALSE,123.55,test,test,test,test,AbfdgrRetGF49
  7. Device 6,testImport,123,test,TRUE,FALSE,123.55,test,test,test,test,AbfdgrRetGF50
  8. Device 7,testImport,123,test,TRUE,FALSE,123.55,test,test,test,test,AbfdgrRetGF51
  9. Device 8,testImport,123,test,TRUE,FALSE,123.55,test,test,test,test,AbfdgrRetGF52
  10. Device 9,testImport,123,test,TRUE,FALSE,123.55,test,test,test,test,AbfdgrRetGF53
  11. Device 10,testImport,123,test,TRUE,FALSE,123.55,test,test,test,test,AbfdgrRetGF54

注意: 文件应该包含至少两列: nametype
文件是使用CSV文件编辑器创建的,它包含10个设备的数据。另外,设备5省略了Data2参数,它不会为该设备创建Data2参数。

上传文件

点击 设备 -> 导入设备
上传示例文件: test-import-device.csv
批量配置 - 图5

配置导入参数

  • CSV 分隔符 - 选择编辑器分隔符号。在示例文件分隔符中",";
  • 第一行包含列名称 - 示例文件中包含了列名称,所以我们选中此项;
  • 更新 属性/遥测 - 不选择此项,因为我们是增加新的设备而不是更新Thingsboard平台中已存在设备的参数。
    批量配置 - 图6

选择列类型

表的第一列展示了包含数据的第一个文件行。
由于 First line contains column names 选项是在上一步中设置的,所以第三列的值已经在文档的第一行就已经初始化完成。
让我们更改一些属性。将第三行中的列类型更改为时间序列并设置属性/遥测的键值,例如,Temperature
下表中的最后一行负责令牌,因此将 Server attribute 改为Access token*。
批量配置 - 图7
注意:** 只能为一行选择NameTypeAccess token等列类型。

导入完成

创建过程完成后,将显示一些统计信息。
在下面的示例中,我们可以看到成功创建了8个设备,并且在创建2个设备时发生了一个错误。原因是设备1、设备2和设备3在给定的示例文件中具有相同的令牌。ThingsBoard系统禁止这样做。
批量配置 - 图8