スタンドアロン¶
イントロダクション¶
このスタンドアロン・ウォークスルーのアイデアは、以下に示すような簡単な通知ベースのシナリオ内で Comet Generic Enabler をテストして紹介することです。
ウォークスルー¶
まず、Docker Swarm (docker >= 1.13) をセットアップしておく必要があります。セットアップしていない場合は、local swarm をセットアップするための簡単な方法についてはツール・セクションをチェックしてください。
$ miniswarm start 3
$ eval $(docker-machine env ms-manager0)
スタック全体を開始するには、通常通り実行します:
$ docker stack deploy -c docker-compose.yml comet
次に、すべてのレプリカが起動して実行されるまで待ちます :
$ docker service ls
ID NAME MODE REPLICAS IMAGE
1ysxmrxrqvp4 comet_comet-mongo replicated 1/1 mongo:3.2
8s9acybjxo0m comet_orion replicated 1/1 fiware/orion:latest
ra84eex0zsd0 comet_comet replicated 3/3 telefonicaiot/fiware-sth-comet:latest
xg8ds3szkoi7 comet_orion-mongo replicated 1/1 mongo:3.2
さて、いくつかの検査を開始しましょう。便宜上、Orion と Comet のサービスの IP アドレスを保存しましょう。このシナリオでは、両方ともサービス・ポートを公開している Swarm に配備されているため、Swarm の ingress ネットワーク には1つのエントリポイントで十分です。
ORION=http://$(docker-machine ip ms-manager0)
COMET=http://$(docker-machine ip ms-manager0)
Orion が稼動していることを確認してから、いくつかの点検を始めましょう。
$ sh ../../context-broker/query.sh $ORION
{
"orion" : {
"version" : "1.7.0-next",
"uptime" : "0 d, 0 h, 1 m, 39 s",
"git_hash" : "f710ee525f0fa55f665e578e309fc716c12cfd99",
"compile_time" : "Wed Feb 22 10:14:18 UTC 2017",
"compiled_by" : "root",
"compiled_in" : "b99744612d0b"
}
}
[]
簡単なデータ (Room1 測定値) を挿入しましょう :
$ sh ../../context-broker/insert.sh $ORION
次に、Room1 の温度変化の通知に Comet をサブスクライブしましょう。
$ sh ../subscribe.sh $COMET
{
"subscribeResponse" : {
"subscriptionId" : "58b98c0cdb69948641065907",
"duration" : "PT24H"
}
}
Orion の温度値を更新しましょう...
$ sh ../../context-broker/update.sh $ORION
そして両方の測定の短期履歴ビューを見ることができます。
$ sh ../query_sth.sh $COMET
{
"contextResponses": [
{
"contextElement": {
"attributes": [
{
"name": "temperature",
"values": [
{
"attrType": "Float",
"attrValue": 23,
"recvTime": "2017-03-03T15:30:20.650Z"
},
{
"attrType": "Float",
"attrValue": 29.3,
"recvTime": "2017-03-03T15:32:48.741Z"
}
]
}
],
"id": "Room1",
"isPattern": false,
"type": "Room"
},
"statusCode": {
"code": "200",
"reasonPhrase": "OK"
}
}
]
}