实体视图
功能概述
YiCONNECT (YICONNECT) 实体视图 (EV) 自 v2.2 起可用。许多 YICONNECT 用户都要求此功能。与限制底层表对外部世界的暴露程度的 SQL 数据库视图类似,YICONNECT EV 限制设备或资产遥测和属性对客户的暴露程度。作为租户管理员,您可以为每个设备或资产创建多个 EV,并将它们分配给不同的客户。
支持的用例:
- 同时与多个客户共享特定设备或资产数据。由于 YICONNECT 安全模型的限制,之前的 EV 功能无法实现。
- 允许特定客户用户查看收集的数据(例如传感器读数),但隐藏电池电量、系统错误等调试信息。
- 设备即服务( DaaS )模型,其中设备在不同时间段收集的数据属于不同的客户。
架构
实体视图包含以下信息:
- TenantId - 代表视图所有者的链接;
- CustomerId - 表示有权访问该视图的客户的链接;
- EntityId - 表示目标设备或资产的链接;
- 名称和类型 - 用于显示和搜索目的的常规 YiCONNECT 实体字段;
- 开始和结束时间 - 表示用于限制对目标设备遥测数据的访问的时间间隔。客户将无法看到指定间隔之外的实体遥测数据;
- 时间序列键 - 查看者可访问的时间序列数据键列表;
- 属性键 - 查看者可以访问的属性名称列表;
了解 YICONNECT 如何处理遥测和属性更新以及这些更改如何影响实体视图非常重要。
时间序列数据视图
所有时间序列数据都代表目标实体存储在数据库中。任何实体视图都没有时间序列数据重复。当用户打开仪表板或代表实体视图 ID 执行 REST API 调用时,会发生以下操作:
- 请求开始和结束时间戳经过验证和调整以适合实体视图开始和结束时间。因此,如果 Dashboard 尝试获取 1 年的数据,但 EV 配置为仅访问 6 个月的数据,它将失败。
- 请求时间序列数据键根据实体视图中配置的时间序列数据键进行验证和调整。因此,如果仪表板尝试获取此特定视图禁止的遥测密钥,它将失败。
属性视图
每次保存或更新此实体视图时,实体视图都会自动从目标实体复制指定属性。出于性能原因,目标实体属性不会在每次属性更改时传播到实体视图。您可以通过在规则链中配置“复制查看”规则节点并将“发布属性”和“更新属性”消息链接到新规则节点来启用自动传播。
未来的改进
YiCONNECT 路线图具有以下功能:
- 添加在设备视图中启用/禁用RPC请求的功能;
- 添加配置特定视图可访问(传播)的警报列表的功能。