NGSI-LD Step-by-Step¶
これは、FIWARE システムの NGSI-LD チュートリアルのコレクションです。 各チュートリアルは、個々の FIWARE コンポーネントの正しい使用方法を示す一連の演習で構成され、一連のダミー IoT デバイスに接続するか、直接またはプログラムで コンテキストを操作することにより、シンプルなスマート・ソリューション内のコンテキスト・データのフローを示します。
使い方
各チュートリアルは、開発者に FIWARE の1つの側面について教えるように設計された、自己完結型の学習課題です。チュートリアルの 目的の概要は、各ページの先頭にある説明にあります。すべてのチュートリアルは、例の実行に必要な構成ファイルを保持する GitHub リポジトリに関連付けられています。ほとんどのチュートリアルは、前の演習で説明した概念またはイネーブラーに基づいて 構築されており、"powered by FIWARE" の複雑なスマートソリューションを作成します。
チュートリアルは、FIWARE カタログ内で定義されたチャプタに従って 分割されており、各チャプタ内で難易度順に番号が付けられているため、特定のイネーブラーの紹介は、その要素の全機能をさらに 詳しく調べる前に行われます。
他の主題に進む前に、完全なコア・コンテキスト管理: NGSI-LD インターフェイスの章を読むことから始めることをお勧めします。 これにより、一般的にコンテキスト・データの役割が完全に理解できるようになります。ただし、後続のすべてのチュートリアルを 順番に実行する必要はありません。FIWARE はモジュラ・システムであるため、どのイネーブラを使用するかを選択できます。
前提条件¶
Swagger ¶
OpenAPI 仕様 (一般に Swagger として知られています) は、REST APIs の API 記述形式です。Swaggger 仕様では、API 全体 (NGSI-LD 自体など) を記述できますが、このチュートリアルでは、Swagger を使用してデータモデルを定義することに集中します。
API 仕様は YAML または JSON で記述できます。この形式は、学習しやすく、人間と機械の両方が読みやすくなっています。
完全な OpenAPI 仕様は GitHub にあります:
OpenAPI 3.0 Specification。
@context
ファイルを生成するには、明確に定義された構造が必要になるため、これは重要です。
Docker and Docker Compose ¶
シンプルにするために、すべてのコンポーネントは Docker を使用して実行されます。 Docker は、それぞれの環境に分離されたさまざまなコンポーネントを可能にするコンテナ・テクノロジです。
- Windows に Docker をインストールするには、こちらの指示に従ってください
- Mac に Docker をインストールするには、こちらの指示に従ってください
- Linux に Docker をインストールするには、こちらの手順に従ってください
Docker Compose は、マルチコンテナ Docker アプリケーションを定義して実行するためのツールです。
一連の *.yaml
ファイルを使用して、アプリケーションに必要なサービスを設定します。これは、すべてのコンテナ・サービスを
単一のコマンドで起動できることを意味します。Docker Compose は、Docker for Windows および Docker for Mac の一部として
デフォルトでインストールされますが、Linux ユーザはこちらにある手順に
従う必要があります。
次のコマンドを使用して、現在の Docker および Docker Compose のバージョンを確認できます:
docker-compose -v
docker version
重要 最近のバージョンでは、docker-compose はメインの Docker クライアントの一部としてすでに含まれています。Docker バージョン 20.10 以降と Docker Compose 1.29 以降を使用していることを確認し、必要に応じてアップグレードしてください。 古いバージョンを使用していて、アップグレードすることができない場合でも、./services スクリプト・コマンドの最後に legacy パラメータを追加することで、チュートリアルを実行できます。 例: services start legacy
古い docker-compose で Linux ディストリビューションを使用している場合、ファイルは次のように直接インストールできます: necessary.
sudo curl -L "https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
VMware の Ubuntu で docker-compose を使用していて、次のエラーが発生した場合: ERROR: Couldn't connect to Docker daemon at http+docker://localunixsocket - is it running?
これは、次に示すように、/var/run/docker.sock
Unix ソケットを所有することで解決できます:
sudo chown $USER /var/run/docker.sock
Postman ¶
HTTP リクエストを使用するチュートリアルは、Postman ユーティリティで使用するためのコレクションを提供します。 Postman は REST API のテスト・フレームワークです。 このツールは、www.getpostman.com からダウンロードできます。FIWARE Postman コレクションはすべて、 Postman API network から直接ダウンロードできます。
Cygwin for Windows ¶
簡単な bash スクリプトを使ってサービスを開始します。Windows ユーザは、Windows 上の Linux ディストリビューションに 似たコマンドライン機能を提供するために cygwin をダウンロードするべきです。
Apache Maven ¶
Apache Maven は、ソフトウェア・プロジェクト管理および理解ツールです。 プロジェクト・オブジェクト・モデル (POM) コンセプトに基づいて、Maven はプロジェクトのビルド、レポート、ドキュメントを 中央の情報から管理できます。Maven を使用して、依存関係を定義およびダウンロードし、Java または Scala コードをビルドして JAR ファイルにパッケージ化できます。
チュートリアルの一覧¶
コア・コンテキスト管理: NGSI-LD インタフェース
これらの最初のチュートリアルは、FIWARE Context Broker の概要であり、FIWARE の使用を学ぶ上で不可欠な最初のステップです。
101. @context
の理解
102. @context
の操作
103. CRUD 操作
104. エンティティ・リレーションシップ
105. サブスクリプション
106. テンポラル操作
107. 簡潔な NGSI-LD ペイロード
Internet of Things, ロボット & サードパーティ・システム
コンテキスト・ベースのシステムに現実世界の状態を認識させるには、ロボット、IoT センサ、またはソーシャル・メディアなど のコンテキスト・データの他のサプライヤーからの情報にアクセスする必要があります。また、Context Broker からコマンドを 生成して、実際のオブジェクト自体の状態を変更することもできます。
201. IoT センサのインタラクション
202. Ultralight IoT Agent のプロビジョニング
203. JSON IoT Agent のプロビジョニング
コア・コンテキスト管理: プロセシング & 履歴管理
これらのチュートリアルは、コンテキスト・データを操作および保存して、さらに処理するために使用できるようにする方法を 示しています。
304. 時系列データのクエリ (CrateDB)
305. ビッグデータ分析 (Flink)
306. ビッグデータ分析 (Spark)
セキュリティ: ID 管理
これらのチュートリアルでは、アプリケーション内でユーザを作成および管理する方法と、ロールとパーミッションを割り当てる ことによってアセットへのアクセスを制限する方法を示します。
401. ユーザと組織の管理
402. ロールとパーミッションの管理
プロセシング、分析 および 視覚化
これらのチュートリアルは、コンテキスト情報を作成、処理、分析、または視覚化する方法を示しています。
507. クラウド・エッジ・コンピューティング