产品定价 立即试用
云平台
欧洲地区
文档 > 其他功能 > 实体视图
入门
指南 API 常见问题
目录

实体视图

功能概述

ThingsBoard(TB)实体视图(EV)自v2.2起可用,许多TB用户需要该功能。 类似于SQL数据库视图限制底层表对外暴露的范围,TB实体视图限制设备或资产的遥测属性客户的可见范围。 作为租户管理员,你可以为每台设备或资产创建多个EV,并分配给不同客户。

支持的用例:

  • 同时共享 特定设备或资产数据给多个客户。之前的EV功能因TB安全模型限制而无法实现。
  • 允许特定客户用户查看收集的数据(如传感器读数),但隐藏电池电量、系统错误等调试信息。
  • 设备即服务(DaaS)模型,其中设备在不同时间段收集的数据属于不同客户。

架构

实体视图包含以下信息:

  • TenantId - 指向视图所有者的链接;
  • CustomerId - 指向有权访问该视图的客户的链接;
  • EntityId - 指向目标设备或资产的链接;
  • 名称与类型 - 用于显示与搜索的常规ThingsBoard实体字段;
  • 开始与结束时间 - 用于限制目标设备遥测访问的时间区间,客户无法看到区间之外的遥测;
  • 时序数据键 - 允许查看的时序数据key列表;
  • 属性键 - 允许查看的属性名称列表;

image

理解TB如何处理遥测与属性更新,以及这些变更如何影响实体视图非常重要。

时序数据视图

所有时序数据以目标实体名义存储在数据库中。不会向任何实体视图复制时序数据。 当用户使用实体视图ID打开仪表板或执行REST API调用时,会发生以下操作:

  • 请求的开始与结束时间戳会被验证并调整为实体视图允许的时间范围。 因此,若仪表板尝试获取1年的数据,但EV仅配置为访问6个月的数据,则会失败。
  • 请求的时序数据key会根据实体视图中配置的时序数据key进行验证和调整。 因此,若仪表板尝试获取该视图不允许的遥测key,则会失败。

属性视图

每次保存或更新此实体视图时,实体视图会自动从目标实体复制指定属性。 出于性能考虑,目标实体属性的更改不会每次传播到实体视图。 可通过在RuleChain中配置\u201ccopy to view\u201d规则节点,并将\u201cPost attributes\u201d与\u201cAttributes Updated\u201d消息链接到该规则节点来启用自动传播。

image

未来改进

ThingsBoard路线图中有以下功能:

  • 为设备视图启用/禁用RPC请求;
  • 为特定视图配置可访问(传播)的告警列表。

下一步