如何在仅满足订阅条件时使orion发送通知?

时间:2016-05-24 10:25:51

标签: fiware fiware-orion

我已经进行了此订阅,但它通知总是更改属性。

curl  --include \
      --header 'Content-Type: application/json' \
      --request POST \
      --data-binary '{
                       "attrsFormat":"legacy",
                       "description": "Day subscription",
                       "subject": {
                         "entities": [
                           {
                             "idPattern": "es-leon-.*",
                             "type": "Event"
                           }
                         ],
                         "condition": {
                           "attrs": [
                              "idEvent",
                              "Title",
                              "dFlag"
                           ],
                           "expression": {
                             "q": "dFlag>0"
                           }
                         }
                       },
                       "notification": {
                         "http": {
                             "url" : "http://localhost:5050/notify"
                         },
                         "attrs": [
                           "idEvent",
                           "Title",
                           "dFlag"
                         ]
                       }
                     }' \
      'http://localhost:1026/v2/subscriptions'

当条件中描述的任何属性发生变化且条件满足时,我希望该orion通知。

示例我在这个实体中有:

  • Concert1(idEvent = Mozart,Title = Mconcert,dFlag = 1)
  • Concert2(idEvent = Salieri,Title = Sconcert,dFlag = 0)

当我对Concert1的任何属性进行更改时,我希望当条件满足时,它会通知。 在Concert2的情况下,由于条件不满足,因此不会通知。

它可以吗?我在这个订阅示例中有什么问题?

在文档中没有多说:

  

条件:将触发通知的条件。它可以有   两个可选属性:

     
      
  • attrs:属性名称数组

  •   
  • 表达式:由q,georel,geometry和coords组成的表达式(请参阅上面关于此字段的“List entities”操作)。

  •   
     

列出实体

     
      
  • q:一个查询表达式,由一系列以?分隔的语句组成,即q = statement; statements; statement。请参阅简单查询语言规范。示例:温度> 40。
  •   

Version de orion:1.1

1 个答案:

答案 0 :(得分:1)

这可能是由于Orion 1.1中的订阅缓存管理存在问题。因此,该版本的解决方案是使用-noCache CLI option禁用缓存。

已经识别出错误(参见this issue in github)并解决了猎户座1.2。