[英]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.