繁体   English   中英

订阅Orion,无需接收旧实体

[英]Subscribe Orion without receive old entities

有什么方法可以订阅Orion(例如Car实体),而无需接收旧实体?

例如:猎户座有->汽车A,汽车B。

我进行onchange订阅,Orion同时发送给我:汽车A通知和汽车B通知。

我们需要以下内容:

Orion具有->汽车A,汽车B。

我进行onchange订阅,但此刻什么也没收到。 如果将来Orion收到Car B,或更改Car A或Car B的某些属性,则发送通知。

那可能吗?

该行为在用户手册中进行说明:

您可能想知道,如果您实际上没有进行任何更新,为什么accumulator-server.py会收到此消息。 这是因为Orion上下文代理将从“不存在的订阅”到“已订阅”的转换视为更改。

我们知道,对于某些用例,这并不方便。 但是,以相反的方式行事会破坏另一种用例,这些用例在开始获取与实际更改相对应的通知之前需要了解“财务状态”。 使每个人都满意的最佳解决方案是使它可配置,以便每个客户端可以选择自己喜欢的东西。 该功能当前在我们的路线图中(请参阅github.com中的此问题 )。

尽管这是在Orion中实现的,但在您的情况下,可能的解决方法是忽略第一个收到的属于订阅的nofitication(您可以通过通知有效负载中的subscriptionId字段标识一个通知所属的subscriptionId )。 以下所有属于该订阅的通知将与实际更改相对应。

编辑:避免初始通知的可能性已在Orion最终实现。 详细信息在文档的此部分 它现在位于master分支中(因此,如果您使用fiware/orion:latest您将获得它),并将包含在下一个Orion版本(2.2.0)中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM