2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

HULFT IoT EdgeStreamingでプラグインを作成してみた【実行編】(3/3)

Last updated at Posted at 2020-03-30

#はじめに
こんにちは。よろず相談担当 すぎもん:yum:です。
今回は、HULFT IoT EdgeStreamingのSDKを使用したコンポーネント(アダプタ)の開発をやってみようと思います。全3部作で完結するよう記載してます。

#今回やること
今回は、第3弾としてHULFT IoT EdgeStreaming Plugin SDKで開発したプラグインのビルドと実行をしてみようと思います。第1弾、第2弾の記事は、下記にありますので参考にしてみてください。

:arrow_forward: [HULFT IoT EdgeStreamingでプラグインを作成してみた【セットアップ編】(1/3)]
(https://qiita.com/sugimon/items/cf7503479c6e4c46c3b3)
:arrow_forward: HULFT IoT EdgeStreamingでプラグインを作成してみた【開発編】(2/3)
:arrow_forward: HULFT IoT EdgeStreamingでプラグインを作成してみた【実行編】(3/3)

#プラグインのビルド
今回、作成したプラグインをビルドしてみます。※Windows PCを使用して試しています。
なお、
$SDK_HOMEは、EdgeStreaming SDKホームディレクトリを指します。
$DATASPIDER_HOMEは、EdgeStreamingのホームディレクトリを指します。

###ビルド
プラグインのビルドは、$SDK_HOME/dev/sample_adapterから以下のコマンドを実行します。

$ ant

image.png

コマンド実行後、BUILD SUCCESSFULと出力され、下記のファイル類が作成されていればビルドは成功です。

$SDK_HOME/dev/sample_adapter/build
 sample_adapter.jar
$SDK_HOME/dev/sample_adapter/build/plugin/sample_plugin
 各ターゲット向けのgoの実行ファイル

image.png

###アイコンファイルのコピー
実際にEdgeStreaming Studio画面で使用するアイコンファイルを作成します。
ビルドに成功後、$SDK_HOME/dev/sample_adapter/META-INFが生成されるので、アイコンのサンプルファイルをコピーしリネームします。

・Source Operation用アイコンのコピー
$SDK_HOME/dev/conf/operation.source.icon
⇒ $SDK_HOME/dev/sample_adapter/META-INF/operation.sample_source.icon

・Sink Operation用アイコンのコピー
$SDK_HOME/dev/conf/operation.sink.icon
⇒ $SDK_HOME/dev/sample_adapter/META-INF/operation.sample_sink.icon

・UDSF Operation用アイコンのコピー
$SDK_HOME/dev/conf/operation.udsf.icon
⇒ $SDK_HOME/dev/sample_adapter/META-INF/operation.sample_udsf.icon

###module.propertiesファイルの確認
$SDK_HOME/dev/sample_adapter/META-INF/module.propertiesファイルが正常に作成されたことを確認します。

このプロパティファイルは、$SDK_HOME/dev/sample_adapter/config.propertiesファイルで定義されているプロパティを基に作成されています。
image.png

#プラグインのインストール
アダプタのインストールは$SDK_HOME/dev/sample_adapterからantコマンドの第一引数にinstallターゲットを指定して実行します。

$ ant install

image.png

ant installを実行後、下記のようにインストールがされます。
・Javaモジュールがインストールされます。
$DATASPIDER_HOME/server/plugin/data_processing/modules配下

・Golangモジュールがインストールされます。
$DATASPIDER_HOME/server/es-agent/plugin配下

※インストールしたプラグインを有効にするには、EdgeStreaming Studioの再起動が必要です。

#実行してみましょう
それでは、作成したプラグインの実行をしてみましょう。

EdgeStreamingの起動

・EdgeStreamingを起動します。

image.png

・作成したプラグインを確認してみましょう。
新規プロジェクトから、プロジェクトを作成します。
image.png

スクリプトを作成します。
image.png

プラグインの確認

作成したプラグインが、「ツールパレット」にできていることを確認します。
「ツールパレット」の「Sample」配下に、それぞれ以下のプラグインができていると思います。

image.png

簡単な処理を作成してみましょう

・入力処理(一定時間間隔で疑似乱数を生成するオペレーション)
Source Operationで作成した処理を配置します。
ツールパレットのSampleからSample sourceをドラッグ&ドロップで中央へ移動させます。
※Intervalには、取得する間隔を指定してください。

image.png

・出力処理(有効小数点桁数で切り捨ててログに出力するオペレーション)
Sample Sinkで作成した処理を配置します。
ツールパレットのSampleからSample sinkをドラッグ&ドロップで中央へ移動させます。
※Decimalには、任意の有効小数点桁数を指定してください。

image.png

マッピング処理
入力処理アイコンをドラッグ&ドロップして、出力処理までアイコンをつなげます。
つなげた線を右クリックし、マッピングの追加を選択します。
image.png

マッピングアイコンを開きます。
image.png

・入力元の「value」と出力先の「value」をつなげます。
・出力先の「formula」にツールパレット->文字列->基本->文字列定数を配置し、
任意の文字列を指定し、「formula」につなげます。
image.png

スクリプト全体
このようにスクリプトが作成できました。
image.png

実行してみましょう

画面メニューの緑矢印から作成したスクリプトを実行してみましょう。

image.png

疑似乱数が指定したIntervalごとに生成され、指定した小数点桁数で値が出力されることが確認できると思います。
image.png

また、作成したUDSFのオペレーションアイコンを使用することで、取得した値に対して四則演算ができますので、
組み合わせて、いろいろと試してみてください。

#最後に
3部作の最終編として、今回はプラグインのビルドから実行までやってみました。
このようにSDKを使用してプラグインの処理を実装することが可能です。本記事がプラグイン開発の道しるべになれたら幸いです。

このブログでは、今後も技術の「よろず相談窓口」で相談を受けた内容や、誕生したワザをご紹介していけたらな、と思っています。

これからも是非チェックいただき、宜しければフォローをお願いします。

それでは、また!

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?