2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

enebularAdvent Calendar 2023

Day 18

enebular のデータストア機能を初めてさわってみる(ひとまず保存を試す)【enebular】

Last updated at Posted at 2023-12-17

この記事は、「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」ノードを使って保存を試してみようと思って、まずは以下のフローを作ってみました。まずは、配置してつなげてみただけです。

フロー1

DSデータ保存 ノードでコンフィグ作成

明らかに DSデータ保存 ノードで何かしないといけない表示(アイコンでの表示)が出ているので、プロパティを開いてみて、新規にコンフィグを作成してみます。
設定はデフォルトのまま進めてみます。

以下は、コンフィグ作成後の画面と、その画面の下のほうにある「出力」タブを選択してみた時の表示です。

コンフィグ作成後の画面

「出力」タブを選択してみた時の表示

フローにノードを追加

出力が msg.payload に出てくるようなので、デバッグ出力のノードを追加しました。

ノード追加後のフロー

フローをいったん実行してみる

上で書いていた公式の記事の流れを見ると、このままだとうまくいかなそうですが、お試しのためにフローをいったん実行してみます。そして、想定通りエラーが出ました。

image.png

データストアの設定をする

素直に、プロジェクトの画面から「データストアの設定」を行っていきます。

データストアの設定

公式記事「データストア機能のご紹介」と同じ手順で、データストア用のテーブルを作ります。

設定は、以下のとおりデフォルトのままにしました。

テーブル作成

テーブル作成後の画面は以下です。無事に作成ができたようです。

テーブル作成後

ここで、「設定」タブを選び、「テーブルID」を確認しました。

「テーブルID」を確認

フローを修正する

フローの作成に戻ります。
データストア作成前から編集していたフローで、後から作成したデータストアを利用するとうまくいかないようだったので、フローの編集を開き直します。

そして、上で掲載した公式記事の内容(以下の内容)を見て、自分が作っているフローの各ノードの設定を見なおしてみます。具体的には以下のとおりです。

フロー全体

フロー全体

「inject」ノード

「inject」ノード

「template」ノード

「template」ノード

テンプレートの内容
{
    "label": "{{name}}",
    "ts": {{payload}},
    "temp": {{payload}}
}

「DSデータ保存」ノード

「DSデータ保存」ノード -1

※ 上記の下のタブを「出力」タブにした時の画面
「DSデータ保存」ノード -2

※ コンフィグの画面
「DSデータ保存」ノード -2

フローを実行

それでは、データの保存を試してから、結果を確認してみます。

右上の保存ボタンを押してデプロイをして、それから「inject」ノードを 3回ほど押してみました。

デバッグの出力を見た感じだとエラーも出てないので、プロジェクトの画面から、保存がうまくいったかを確認してみます。

保存結果の確認

プロジェクトの画面で、左メニューの「データストア」を選択します。
そして、以下のリストに出ているテーブルを選択します。

プロジェクトの画面で、左メニューの「データストア」を選択した後

その後の画面で、3回の操作を行った際の、データ保存が成功していることを確認できました。

image.png

おわりに

今回、enebular のデータストア機能を初めてさわってみました。外部サービスを用いなくても、データ保存・取得が行えるようになったのは、便利で良さそうです。

また引き続き、この新機能も活用していこうと思います。

関連記事

本文では扱ってない、データストア関連の記事をいくつか掲載してみます。

●データストアの管理 · enebular
 https://docs.enebular.com/ja/datastore/managedatastore

●enebularのデータストア機能を試してみた #node-red - Qiita
 https://qiita.com/kitazaki/items/8c539a9211bd3c92df63

2
0
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
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?