Skip to content

ThingsBoard 如何设置遥测的过期时间 ​

正文与配图来自原稿。存储引擎不同,TTL 机制也不同。

1、概述 ​

遥测可落在 PostgreSQL / Timescale 或 Cassandra。两种存储设置过期时间的方式不一样。

2、使用 PostgreSQL 或 Timescale ​

PostgreSQL / Timescale 不支持 每行插入时带 TTL。只能用 SQL_TTL_* 一类环境变量做定期清理,在 thingsboard.yml 中配置:

SQL TTL 配置

3、使用 Cassandra ​

Cassandra 支持插入行级 TTL,常见三种方式:

方式一:系统级环境变量 ​

用 TS_KV_TTL 配默认 TTL(如在 docker-compose.yml 中指定):

TS_KV_TTL

方式二:租户配置 ​

在租户配置中指定遥测过期时间:

租户 TTL

方式三:规则节点 / 消息 metadata ​

在 save timeseries 节点覆盖默认值,或在消息 metadata 中设置 TTL:

save timeseries

metadata TTL

4、优先级 ​

save timeseries 或 metadata 中的 TTL > 租户配置 > docker-compose / 环境变量默认值

5、小结 ​