2017-01-16 39 views
2

基於這篇文章(Fiware - Context broker: Issue with NGSIv2 subscriptions)幾個月前它正在討論Cygnus是否支持NGSIv2。有人評論說,這個問題是時間表,但尚未實施。天鵝座已經接受NGSI2嗎?

問題:它已經實現了嗎?我們怎麼知道?

我的困惑提醒,因爲當創建基於NGSIv2的訂閱和成功創建的消息彈出結果(即201)時,但仍然無法監視我的訂閱記錄到Orion中。

我創造我的訂閱像這樣:

Content-Type:application/json 
Accept: application/json 
Fiware-Service: test 
Fiware-ServicePath: /device 

{ 
     "description": "One subscription to rule them all", 
     "subject": {  
     "entities": [ {   
      "idPattern": ".*",   
      "type": "smarthphone" } ],  
     "condition": {  
      "attrs": [ "battery" ], 
      "expression": { "q": "battery!=0" }  
      } 
     }, 
     "notification": {  
     "http": {  
      "url": "<MY COSMOS IP>:5050/notify" },  
      "attrs": [ "battery" ] 
     }, 
     "expires": "2120-04-05T14:00:00.00Z", 
     "throttling": 1 
    } 

而這就是我得到:

Connection: Keep-Alive 
Content-Length: 0 
Location: /v2/subscriptions/587c62fcfebdbe5f74bad77b 
Fiware-Correlator: f9a96bd0-dbb1-11e6-93ea-0242ac110004 
Date: Mon, 16 Jan 2017 06:06:52 GMT 

但是當我找回這種訂閱但這並沒有顯示:

.../v2/subscriptions/587c62fcfebdbe5f74bad77b 

任何暗示我做錯了什麼?

+0

順便說一句,我也嘗試了什麼在這個網站推薦(http://fiware-cygnus.readthedocs.io/en/1.5.0/cygnus-common/installation_and_administration_guide/install_with_docker/)但仍然沒有生活的信號我的訂閱。我持有天鵝座版本1.6.0,這意味着它不應該是問題,對吧? – netzahdzc

+0

當您嘗試使用'.../v2/subscriptions/587c62fcfebdbe5f74bad77b'檢索訂閱時,您收到了什麼信息? – Dalton

+0

我沒有錯誤,它顯示了一個沒有訂閱記錄的空陣列 – netzahdzc

回答

0

如果您有使用標頭Fiware-Service: testFiware-ServicePath: /device創建的實體,則還需要在請求中使用這些標頭(GET,PUT等)。

+0

是的,這是一個很好的提示。謝謝 – netzahdzc

+0

順便說一句,不知道這是否應該是另一個問題,但。創建我的訂閱後,它顯示一個活動狀態。但是,在發佈json對象之後,我的訂閱將其狀態變爲「status」:「failed」。你知道會發生什麼嗎? – netzahdzc

+0

是的。它更好地創造另一個問題,給出問題的細節。 – Dalton

1

「Cygnus不支持NGSIv2」表示在服務端口(默認情況下,TCP/5050)中不接受NGSIv2通知。目前,只有NGSIv1通知被接受。

儘管如此,我們添加到Cygnus API的方法是使用NGSIv1或NGSIv2訂閱格式訂閱Orion的便捷操作。我想這就是你測試過的(沒有成功)。在內部,這樣的操作只實現給定訂閱的轉發(給定的Orion端點)。如果天鵝座API說一切正常,那是因爲獵戶座說事情沒有問題。

無論如何,我會在我身邊執行測試後編輯此帖子。同時,您可以忽略Cygnus API並直接使用Orion API。