ThingsBoard 的实体视图
正文与配图来自原稿。实体视图(Entity View,EV)自 v2.2 起提供,用于控制客户能看到设备/资产的哪些数据。
1、概念
类似 SQL 视图限制表对外暴露的列/行,ThingsBoard 实体视图限制设备或资产的遥测与属性对客户的可见范围。租户管理员可为每个设备或资产创建多个 EV,并分配给不同客户。

2、支持用例
- 同时与多个客户共享同一设备/资产的部分数据
- 允许特定客户用户查看采集数据(如传感器读数)
- 不同时段的数据归属不同客户
3、架构
3.1、视图包含的字段
| 字段 | 含义 |
|---|---|
| TenantId | 视图所属租户 |
| CustomerId | 有权访问该视图的客户 |
| EntityId | 目标设备或资产 |
| 名称 / 类型 | 展示与搜索 |
| 开始 / 结束时间 | 限制客户可访问的遥测时间范围 |
| 时间序列键 | 客户可见的遥测 key 列表 |
| 属性键 | 客户可见的属性名列表 |
3.2、遥测数据视图
时序数据仍只存在目标实体上,EV 不复制时序。用户打开仪表板或按 EV ID 调 REST 时:
- 请求的起止时间会被校验并裁剪到 EV 的时间窗内(例如仪表板要 1 年,EV 只开 6 个月,则超出部分不可见/失败)
- 请求的遥测 key 必须在 EV 配置的允许列表中,否则失败
3.3、属性视图
每次保存或更新实体视图时,会从目标实体复制所配置的属性到视图。出于性能,目标属性变更不会每次都自动同步到 EV。
若要属性变更自动更新到视图:在规则链配置 copy to view 节点,并将 Post attributes、Attributes Updated、Attributes Deleted 等消息连到该节点。
补充(辅)
- 把 EV 分配给客户后,客户仪表板应使用 EV 作为数据源,而不是原始设备 ID。
- 与「设备认领」不同:认领改所有者;EV 是在不移交设备的前提下做只读数据切片。见 设备认领。
