【公式】HULFT IoT EdgeStreaming 逆引きリファレンス_2021年7月1日_初版発行
収集したファイルのデータをHTTPで転送したい
外部から収集したファイル内のデータを読み取って、HTTPで転送する処理について説明します。
この処理で以下のような出力結果を得られます。
- 例
-
CSVファイルの内容を読み取って、HTTPで転送する。
処理の説明
IoTゲートウェイに保存されるCSVファイルに行が追加されるたびにCSVファイルを読み取り、データをHTTPで外部システムへ転送します。
ポイントとなる機能
- 更新監視
-
更新監視処理のプロパティを設定します。
ツールパレットのファイル-CSV-更新監視で設定できます。
- 送信処理
-
送信処理のプロパティを設定します。
ツールパレットの汎用プロトコル-HTTP-送信で設定できます。
操作手順
ここでは、以下のCSVファイルを読み取る想定でシナリオを作成する場合を例に説明します。
IoTゲートウェイに保存されるCSVファイルに行が追加されるたびにCSVファイルを読み取り、データをHTTPで外部システムへ転送するスクリプトを作成します。
なお、CSVファイルは、CSVファイルを出力できる機器(FTPクライアント機能を持つPLCなど)から出力されるCSVファイルを想定しています。
-
CSVデータ:
温度, 湿度
22.5, 31.8 23.0, 32.0 23.1, 31.9 23.2, 31.1 23.1, 31.4 |
1. CSVファイルに追加された行のデータを読み取るオペレーションを配置します。
-
ツールパレットからファイル-CSV-更新監視をスクリプトキャンバスにドラッグ&ドロップします。
新規更新監視処理ダイアログが表示されます。
-
CSVファイルから値を読み取る設定を行います。
名前
任意の値(半角英数字、アンダーバー)を入力
【必須設定】タブ
ファイル名
CSVファイルのファイル名を指定
起動までの書き込みを読み飛ばす
チェックなし
今回の例ではスクリプト実行時にCSVファイルが生成される想定
列一覧
CSVファイルの列をすべて列名に追加
列名には列を表す任意の値を入力
= 備考 =-
列名は画面上の表示にのみ使用されます。
-
CSVファイルの1行目から列名を取得する場合は、ファイルの1行目から列名を読み取りをクリックして、ファイルを選択してください。
【詳細設定】タブ
デリミタ
カンマを選択
列名読み取り時のエンコード
UTF-8を選択
-
-
完了ボタンをクリックします。
監視処理のアイコンがスクリプトキャンバスに配置されます。
2. データをHTTPで外部に転送するオペレーションを配置します。
-
ツールパレットから汎用プロトコル-HTTP-送信をスクリプトキャンバスにドラッグ&ドロップします。
新規送信処理ダイアログが表示されます。
-
外部システムのREST APIの設定を行います。
名前
任意の値(半角英数字、アンダーバー)を入力
入力データ
先ほど配置した「監視処理のアイコン名」を選択
URL
REST APIの「URL」を設定
メソッド
REST APIのHTTPメソッド(POSTまたはPUT)を設定
ヘッダー
REST APIへのリクエストを送信する際に必要となる、リクエストヘッダを設定
-
完了ボタンをクリックします。
送信処理のアイコンがスクリプトキャンバスに配置されます。
監視処理のアイコンと送信処理のアイコンがストリームフロー(橙色の破線)でつながります。
3. Mapperを設定します。
-
監視処理と送信処理をつなぐストリームフローを右クリックし、メニューからマッピングの追加を選択します。
監視処理と送信処理の間にMapperが配置されます。
-
mapping_1アイコンをダブルクリックし、Mapperエディタを開きます。
-
出力先で、送信処理の入力スキーマを設定します。
リクエストのボディに設定するJSONのフォーマットがREST APIの仕様として決められている場合、そのフォーマットをJSONファイルとして保存し、入力スキーマの生成に使用することができます。
= 備考 =手動でスキーマを設定することもできますが、JSONのフォーマットが複雑である場合は、JSONファイルからスキーマを読み込ませる方がより作業が簡潔になります。
手動でスキーマを設定する方法は、「ファーストステップガイド」を参照してください。
送信処理のアイコンの名前を右クリックし、メニューからスキーマの読み込みを選択します。
スキーマの読み込みダイアログが表示されます。
JSONファイルから読み込みを選択します。
ファイルパスにJSONファイルを指定し、完了ボタンをクリックします。
指定したJSONファイルの内容に応じて、以下のようなツリーが生成されます。
4. 入力元から出力先へ以下をドラッグ&ドロップします。
-
入力元のcolumn_0を出力先のtemperatureへ
-
入力元のcolumn_1を出力先のhumidityへ
5. スクリプトを保存します。
スクリプトの保存方法については「ファーストステップガイド」を参照してください。
【公式】HULFT IoT EdgeStreaming 逆引きリファレンス_2021年7月1日_初版発行