0

Cosmos のエンティティ (ontimeinterval サブスクリプション) にサブスクライブしています。その前に、次のコマンドを使用してアキュムレータ サーバーを実行しました。

# cd /usr/share/contextBroker/tests
# ./accumulator-server.py 1028 /accumulate on

これは私が送信するクエリです:

curl orion.lab.fi-ware.org:1026/NGSI9/subscribeContextAvailability -s -S --header 'Content-Type: application/json' --header 'Accept: application/json' \--header "X-Auth-Token: $AUTH_TOKEN" -d @notificate.json

問題は、サーバーで通知が届かないことです (間隔は 10 秒と 1 か月です)。

私は何を間違っていますか?ありがとう

4

1 に答える 1

0

もう少し詳細がないと、ここで手助けするのは少し難しいです. 質問でいくつかのことを明確にしましょう。

Orion Context Broker にアクティブな ONTIMEINTERVAL サブスクリプションがあり、アキュムレータを開始するホストとポート 1028 に通知を送信します。サブスクリプションの間隔は 10 秒で、期間は 1 か月です。アキュムレータは正しく起動しますが、curl localhost:1028/dump を使用すると通知が表示されません。これは正しいです?

ここで、最初にすべきことは、ブローカが実行されていることを確認し、'curl localhost:1026/version' を送信することです (ブローカがデフォルトのポート 1026 で起動されている場合)。実行中のブローカーに関する一般的な情報を含む、XML で応答を受け取るはずです。メッセージの内容自体は今のところそれほど興味深いものではなく、ブローカーが応答しているという事実だけです。

次に、サブスクリプションが存在することを確認します。残念ながら、ブローカー自体には、アクティブなサブスクリプションのリストを報告する方法がありません。

サブスクリプションがあることを確認するには、mongo と入力する必要があります (mongod が実行されていると仮定します! :-))。

% mongo
mongo> use orion
mongo> db.csubs.find()
mongo> quit()

サブスクリプションの中から、'reference' '[your host]:1028/accumulate' で自分のサブスクリプションを見つける必要があります。

「有効期限」フィールド (UNIX 秒単位) に特に注意してください。サブスクリプションの有効期限が切れている可能性がありますか? また、'throttling' も興味深いかもしれません - 'throttling' が低い値 (1-10) であることを確認してください。

わかりました、今のところ私が考えることができるのはそれだけです。頑張ってください。あなたが見つけたものを私/私たちに知らせてください.

于 2014-08-29T19:49:02.930 に答える