據official documentation of Orion Context Broker NGSIv2:如何在Orion Context Broker NGSIv2創建高級訂閱表達式?
您可以在條件過濾表達式。例如,至 不僅得到通知壓力是否變化,但如果它在 變化範圍700-800。這是一個高級主題,請參閱NGSIv2 specification中的「訂閱」 部分。
在NGSIv2訂閱沒有notifyConditions
如NGSIv1,它被替換subject.condition對象:
condition
:條件來觸發通知。此字段是可選 並且它可以包含兩個屬性,都可選的:
attrs
:屬性名稱的數組
expression
:表達式組成的q
,mq
,georel
,geometry
和coords
(請參閱上面關於此 字段的「列表實體」操作)
當我們使用subject.condition.attrs
時,它包含一組屬性名稱,這些名稱定義了「觸發屬性」,即創建/更改由於實體創建或更新引起的通知的屬性。
但是,對於subject.condition.expression
在官方文件中沒有示例。
獲得拼圖碎片可以推斷出:
- 可以做結合
subject.condition.expression
和subject.condition.attrs
。如果我設置和表達不同的表達,例如。 attr foo表達'boo> 10'它會做什麼?這會像OR
或AND
? - 可以設置多個表達式。這會像
OR
或AND
?
將這些更復雜的訂閱的一些例子結合在訂閱中定義實體的不同方式將會很好。
注:這個問題是關係到獵戶座版本1.7.0+