Help us understand the problem. What is going on with this article?

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

はじめに

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

今回やること

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

:arrow_forward: HULFT IoT EdgeStreamingでプラグインを作成してみた【セットアップ編】(1/3)
: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を使用してプラグインの処理を実装することが可能です。本記事がプラグイン開発の道しるべになれたら幸いです。

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

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

それでは、また!

sugimon
はじめまして。 皆様に役立ちそうな技術情報をフランクに投稿させていただきます。 ※掲載内容は個人の見解であり、所属する企業を代表するものではありません。 ※各製品のサポート窓口等にお問い合わせいただいても、お答えすることができませんので、あらかじめご了承ください。
saison_information_systems
モード1(守りのIT)・モード2(攻めのIT)を兼ね備えたバイモーダル・インテグレーターとしてデータ連携プラットフォームのHULFTシリーズ, リンケージサービス, 流通ITサービス, フィナンシャルITサービスを提供します。
https://home.saison.co.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away