2017-01-16 4 views
2

この投稿(Fiware - Context broker: Issue with NGSIv2 subscriptions)に基づいて、数ヶ月前に、CygnusがNGSIv2をサポートしているかどうかを議論していました。この問題は予定されていたがまだ実施されていないとコメントされた。Cygnusは既に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 

しかし、私は、このようなサブスクリプションを取得する場合には、ショーをdoes't:

.../v2/subscriptions/587c62fcfebdbe5f74bad77b 

私は何が間違っているのですか?

+0

Btw、私はまた、このサイト(http://fiware-cygnus.readthedocs.io/ja/1.5.0/cygnus-common/installation_and_administration_guide/install_with_docker/)で推奨されているものを試しましたが、ライブのシグナルはまだありません私のサブスクリプション。私はCygnusバージョン1.6.0を持っています。それは問題ではないはずです。 – netzahdzc

+0

'.../v2/subscriptions/587c62fcfebdbe5f74bad77b'でサブスクリプションを取得しようとすると、どのようなメッセージが表示されますか? – Dalton

+0

私はエラーがなく、サブスクリプションレコードがない空の配列を示しました – netzahdzc

答えて

0

Fiware-Service: testFiware-ServicePath: /deviceのヘッダーで作成されたエンティティがある場合は、リクエスト(GET、PUTなど)でこれらのヘッダーも使用する必要があります。

+0

うん、いいヒントだよ。ありがとう – netzahdzc

+0

btw、これは別の質問があるはずです。サブスクリプションを作成すると、アクティブなステータスが表示されます。しかし、jsonオブジェクトをポストした後、私のサブスクリプションはステータスを "status"に変えます: "失敗"。何が起こっているのか知っていますか? – netzahdzc

+0

はい。その問題の詳細を示す別の質問を作成する方が良いです。 – Dalton

1

"CygnusはNGSIv2をサポートしていません"とは、サービスポート(デフォルトではTCP/5050)でNGSIv2通知が受け入れられないことを意味します。当面は、NGSIv1通知だけが受け入れられます。

しかし、Cygnus APIに追加したのは、NGSIv1またはNGSIv2サブスクリプション形式のいずれかを使用してOrionを購読する際の便利な操作です。私はそれがあなたが(成功なしで)テストしたものだと思います。内部的には、このような操作は、指定されたサブスクリプションの(指定されたOrionエンドポイントへの)転送のみを実装します。 CygnusのAPIがすべてうまくいったと言われたのは、OrionがいつものことがOKになったと言っていたからです。

とにかく、私は私の側でテストを実行すると、この投稿を編集します。その間、あなたはCygnus APIを無視し、Orion APIを直接使用することができます。

関連する問題