2016-05-09 4 views
1

https://github.com/telefonicaid/iotagent-node-lib/blob/master/lib/services/ngsi/ngsiService.jscreateRequestObject/updateContext/queryContextのみが使用されています。つまり、NGSI 10 APIのみです。IoTエージェント - NGSI 10のみ(NGSI 9なし)?

NGO 9はIoTエージェントで使用されていますか?

私は、デバイスの登録でNGSI 9 registerContextが呼び出されると予想していたので驚いていますが、そうではなく、NGSI 10 /updateContextだけが呼び出されます。

BR、

Drasko

答えて

0

エージェントはNGSI 10とNGSI 9の両方を使用していますが、彼らはNGSI 9要求を受け入れません。 Context BrokerにNGSI 9を登録して遅延属性やコマンドを定義すると、エージェントはコンテキストプロバイダとして機能します。コンテキストプロバイダであるため、コンテキストブローカがサードパーティコンテキスト要求に対する応答を構成するためには、NGSI 10要求(NGSI 9ではなく)を受け入れる必要があります。このすべての動作は、IoTAgent Node.jsライブラリのシーケンス図で説明されています(https://github.com/telefonicaid/iotagent-node-lib#device-to-ngsi-mapping)。これらの図では、IoTエージェントがどのようにlazy/command属性のregisterContext要求を送信するかを確認できます。

IOTAはコンテキストブローカではなくコンテキストプロバイダであるため、IOTAはコンテキストリダイレクト(Orion do)を実行しないため、NGSI要求を受け入れません。

+0

"エージェントは遅延プロパティまたはコマンドを定義するときにコンテキストプロバイダとして動作し、コンテキストブローカにNGSI 9を登録します。 - この登録のコードを教えてください。 'iotagent-node-lib'のコードでNGSI 9の登録リクエストを送信するのは、私が見つけることができないからです。NGSI 10リクエスト(アップデート、クエリ、サブスクライブ)だけです。 –

+0

ところで、NGSI 9の意味での 'Register Device'と' Lazy Attributes'の違いは何ですか?彼らは両方とも '/ registerContext'を送ることがわかります。私。 'Regitesr Device'はOrionのNGSI9も呼び出して、デバイスをコンテキストプロバイダとして登録します(デバイスがアクティブなプロバイダだけである場合、例えば5分ごとに更新を送信します)。 NGSI9コードについては –

+0

、あなたはここでそれを見つけることができます: https://github.com/telefonicaid/iotagent-node-lib/blob/master/lib/services/devices/registrationUtils.js をあなたはどこにトレースすることができますそこから(主にデバイスの提供において)呼び出される。あなたの次の質問に関して、私はあなたが話していることに従わない。レイジー属性は利用可能な3種類の属性のうちの1つであり、RegisterDeviceはデバイスとそのエージェントの初期エンティティを作成するプロセスです。 lazy属性やコマンドがある場合は、IOTAをコンテキストプロバイダとして登録する必要があります。それ以外の場合は、バグがあります。 –

関連する問題