2016-06-28 76 views
1

我在獵戶座1.2.1以下訂閱:爲什麼這個獵戶座訂閱不能按我想要的方式工作?

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

當我把這樣一個實體更新:

curl --include \ 
    --request PATCH \ 
    --header "Content-Type: application/json" \ 
    --data-binary '{ 
         "mFlag":{ 
          "value":"5", 
          "type":"int" 
         } 
        }' \ 
        'http://localhost:1026/v2/entities/event-2/attrs' 

獵戶座是不是notifiying,它是讓我瘋了不知道什麼是錯的。任何想法?

當我刪除了認購的這部分:

"expression": { 
    "q": "mFlag>0" 
} 

它的工作原理,但我需要在任何屬性被更改,通知和條件被滿足。

+1

嘗試更新與'「值」:5'(即沒有'「''周圍5') – fgalan

+0

它的工作原理,但在我的使用場景中,cepheus將這個值發送給orion,它根本無法解決它(我總是在所有的配置中聲明這個值爲int)。非常感謝你的幫助。 –

+0

我提出了一個母親問題cepheus cep開發者可以看到它,並給我們他的觀點http://stackoverflow.com/questions/38100704/why-cepheus-dont-send-int-without-quotes-to-orion –

回答

1

請注意,在NGSIv2中"5"是一個字符串,而不是數字。因此,爲了使"q": "mFlag>0"過濾器正常工作,請使用以下更新:

curl --include \ 
    --request PATCH \ 
    --header "Content-Type: application/json" \ 
    --data-binary '{ 
         "mFlag":{ 
          "value":5, 
          "type":"int" 
         } 
        }' \ 
        'http://localhost:1026/v2/entities/event-2/attrs' 
相關問題