この記事は、「enebular Advent Calendar 2023」の 18日目の記事です。
今回の内容
今回の記事の内容は、つい先日のイベント「忘年enebular meetup:最近の成果のシェア会」に参加した時にも話を聞いた「enebular のデータストア機能」に関する内容です。
【↓イベントの動画アーカイブ】
●お元気ですか? 忘年enebular meetup:最近の成果のシェア会 - YouTube
https://www.youtube.com/watch?v=1MvekdxH5w4
enebular について
enebular については、以下の公式の説明をご覧ください。
●enebularについて | enebular - あらゆるデバイスとクラウドサービスを「つなぐ」、IoTのためのデータ連携プラットフォーム
https://www.enebular.com/ja/about/
ノードベースのビジュアルプログラミングを使い、オンラインでの開発などが行える環境です。
データストア機能について
今回扱うデータストア機能は、最近リリースされた新機能です。
公式の説明は以下になりますが、「enebular でデータ保存を扱うための機能」で、「外部のクラウドサービスと連携させることなく、enebular単体でデータ保存が扱える」というものです(それを、フリープランでも利用可能)。
●データストア機能のご紹介 | enebular blog
https://blog.enebular.com/function/data-store/
データストア機能を試す
早速、試していきます。
新規にプロジェクトを作成し、フローの編集画面を開いていきました。
そうすると、自動でデータストア機能を使う準備ができているようでした。
公式の概要説明
ここで、公式ブログの概要説明の記事があるので、ざっと見てみます。
以下の準備の部分は、プロジェクトの新規作成をしたところ、上で書いたように自動で対応されていました。
その次は、プロジェクトの画面から「左メニューの データストア をクリックして...」という手順が書いてありますが、それをやらずにフローを実行してみるとどうなるか気になったので、その方向で試してみます。
お試し用の簡単なフローを作成
「inject」ノードを使って保存を試してみようと思って、まずは以下のフローを作ってみました。まずは、配置してつなげてみただけです。
DSデータ保存 ノードでコンフィグ作成
明らかに DSデータ保存 ノードで何かしないといけない表示(アイコンでの表示)が出ているので、プロパティを開いてみて、新規にコンフィグを作成してみます。
設定はデフォルトのまま進めてみます。
以下は、コンフィグ作成後の画面と、その画面の下のほうにある「出力」タブを選択してみた時の表示です。
フローにノードを追加
出力が msg.payload
に出てくるようなので、デバッグ出力のノードを追加しました。
フローをいったん実行してみる
上で書いていた公式の記事の流れを見ると、このままだとうまくいかなそうですが、お試しのためにフローをいったん実行してみます。そして、想定通りエラーが出ました。
データストアの設定をする
素直に、プロジェクトの画面から「データストアの設定」を行っていきます。
公式記事「データストア機能のご紹介」と同じ手順で、データストア用のテーブルを作ります。
設定は、以下のとおりデフォルトのままにしました。
テーブル作成後の画面は以下です。無事に作成ができたようです。
ここで、「設定」タブを選び、「テーブルID」を確認しました。
フローを修正する
フローの作成に戻ります。
データストア作成前から編集していたフローで、後から作成したデータストアを利用するとうまくいかないようだったので、フローの編集を開き直します。
そして、上で掲載した公式記事の内容(以下の内容)を見て、自分が作っているフローの各ノードの設定を見なおしてみます。具体的には以下のとおりです。
フロー全体
「inject」ノード
「template」ノード
{
"label": "{{name}}",
"ts": {{payload}},
"temp": {{payload}}
}
「DSデータ保存」ノード
フローを実行
それでは、データの保存を試してから、結果を確認してみます。
右上の保存ボタンを押してデプロイをして、それから「inject」ノードを 3回ほど押してみました。
デバッグの出力を見た感じだとエラーも出てないので、プロジェクトの画面から、保存がうまくいったかを確認してみます。
保存結果の確認
プロジェクトの画面で、左メニューの「データストア」を選択します。
そして、以下のリストに出ているテーブルを選択します。
その後の画面で、3回の操作を行った際の、データ保存が成功していることを確認できました。
おわりに
今回、enebular のデータストア機能を初めてさわってみました。外部サービスを用いなくても、データ保存・取得が行えるようになったのは、便利で良さそうです。
また引き続き、この新機能も活用していこうと思います。
関連記事
本文では扱ってない、データストア関連の記事をいくつか掲載してみます。
●データストアの管理 · enebular
https://docs.enebular.com/ja/datastore/managedatastore
●enebularのデータストア機能を試してみた #node-red - Qiita
https://qiita.com/kitazaki/items/8c539a9211bd3c92df63