订阅猎户座而不接收旧实体

时间:2015-09-03 08:39:29

标签: fiware fiware-orion

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

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

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

我们需要以下内容:

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

我做onchange订阅但此刻没有收到任何内容。如果将来Orion收到Car B,或更改Car A或Car B的某些属性,则发送通知。

这可能吗?

1 个答案:

答案 0 :(得分:0)

行为在the user manual

中说明
  

如果您实际上没有进行任何更新,您可能想知道为什么accumulator-server.py会收到此消息。这是因为Orion Context Broker认为从“非现有订阅”到“订阅”的转换是一种变化。

我们理解,对于某些用例,这不方便。然而,在开始获得对应于实际变化的通知之前,以opossite方式行为破坏了需要知道“原始状态”的另一个用例。让每个人都满意的最佳解决方案是使其可配置,因此每个客户都可以选择它喜欢的内容。此功能目前已在我们的路线图中(请参阅this issue in github.com)。

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

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