如何在删除ThingsBoard实体时同步删除其遥测与属性
解决ThingsBoard 3.2.2删除设备时同步清除遥测与属性数据的方案
一、手动清理(适合少量设备场景)
- 直接操作对应数据库:
- 找到ThingsBoard使用的数据库(如PostgreSQL、Cassandra)
- 根据设备ID删除关联表数据:
- 遥测数据:删除
ts_kv、ts_kv_latest表中entity_id匹配目标设备ID的记录 - 属性数据:删除
entity_attributes表中entity_id匹配目标设备ID的记录
- 遥测数据:删除
操作前必须备份数据库,防止误删导致数据丢失
二、API批量处理(适合多设备场景)
- 先调用设备删除接口移除目标设备:
DELETE /api/device/{deviceId} - 调用遥测删除接口清除该设备的所有遥测数据:
DELETE /api/plugins/telemetry/DEVICE/{deviceId}/values/timeseries?keys=* - 调用属性删除接口清除该设备全范围属性数据:
DELETE /api/plugins/telemetry/DEVICE/{deviceId}/values/attributes?scope=SERVER_SCOPE,SHARED_SCOPE,CLIENT_SCOPE
调用所有API需携带有效的JWT身份令牌
三、规则链自动清理(适合常态化需求)
- 在规则链中添加「设备删除」触发节点
- 连接「脚本」节点,编写脚本提取被删除设备的ID
- 分别调用遥测、属性删除的服务端API,实现删除设备时自动触发关联数据清理
内容的提问来源于stack exchange,提问作者lanruo
相关产品推荐
相关产品推荐

