enebular で API から来たデータをデータストアに保存する

データストアの準備

今回使うプロジェクトで ee-connect-v2 のプライベートノードをインポートしておきます。

8359987fb2ae430a8fa69c56a8285b9a

プロジェクトのデータストアをクリックします。

17ae22794abbfd55a802429053f364c5

右下の+ボタンをクリックして新しくデータストアを作成します。

50d374c9749a40ec5386f9b3735d3660

カスタム設定をクリックして次へボタンをクリックします。

12325de27d8fcb7e0fe775dc26643e92

テーブル名はそのまま使って、メインキーを timestamp にして作成ボタンをクリックします。

1b601817e6d708fdb09b0aae9629e620

テーブルが作成されました。

6043ce513931823c9215976fc4b6c599

テーブル設定で、テーブル ID・実行環境からのアクセスのON・エディタからのアクセスのONを確認しておきます。

今回の Discover Flow

659a80b304774553e6741e950a5aea3d

今回の Discover Flow はこちらです。

https://enebular.com/discover/flow/e693bfd4-bdd6-4548-b46c-2076e42dd22e

インポートボタンをクリックして、今回作業するプロジェクトを選択してプロジェクトにインポートします。

インポートできたら編集ボタンをクリックして Web エディタを開きます。

e9237eba09ca2d04e7f547176f69876d

「DSデータ保存」ノードをダブルクリックしてプロパティを表示します。

a59da709daa1cbe9ca9725203094ed6f

プロパティが開いたらデータストア設定 table1 を確認し、右にある鉛筆ボタンをクリックします。

2d8b0cebc6baaa007ea79dd97765b5e7

テーブル ID の項目を確認します。いまは空になっています。

e3b872c28c2d7763de805eea980f4bb7

今回扱うデータストアのテーブルで、設定を表示してテーブル ID をコピーします。矢印で示したボタンでコピーできます。

942f51c58acb69d61bc3383f2d2267d1

コピーしたテーブル ID を先ほどのテーブル ID の項目に入力して更新ボタンをクリックします。

d5cee49b9ac98746b816048061e3dc50

データ保存のノード編集画面では完了をクリックします。ワークスペースの右上の保存ボタンをクリックして、フローをデプロイします。

フローの仕組みの紹介

849309ecfa8fb0130b29021fe3472b4b

「データ保存内容設定」の change ノードの仕組みです。

a3bf2e86dd6aa9b6b64e82fa94a3f3a0

データストアが保存するために格納する msg.item に URL にくっついているパラメータが msg.payload に入っているので message 値を設定しています。

最後の timestamp はデータストア上でメインキーとしても使っていて、タイムスタンプ値を $string($millis()) という JSONata 式で「文字列のタイムスタンプ値」でいれることでユニークな ID としても使えるようにしています。

7eeb6c0f2569817492297f6e4d5efd2b

データストアのデータ保存を担当する「DSデータ保存」ノードの仕組みです。

cd7f68283ed89a77535558e2dacf94a3

さきほどデータストア設定でテーブル ID を設定すると、このノードでデータストアへのデータ保存ができます。入力の保存データの項目はデフォルトの msg.item のまま使っています。

f3168797851ef290773be49ff044d198

なお、データ保存の結果は msg.payload にかえってきます。

サーバー URL 把握

これで enebular によるサーバーができました。

今回は、この一時的に使っているエディタそのもののサーバー URL で試してみます。

8355eb99ba9f5b82bf84301dbb7574ae

右上の i というアイコンをクリックします。

31d22a4c38d78b46dc9d6623573f5136

URL をテキスト選択してコピーします。

動かしてみる

ブラウザで別タブを開いて API URL にアクセスしてみます。API URL はさきほどのサーバー URLに /api/message?message=12345 を加えたものです。message=12345 部分が API に実際にデータを送って保存する message 値です。

もし https://hogehoge123456789.herokuapp.com/ がサーバー URL なら https://hogehoge123456789.herokuapp.com/api/message?message=12345 となります。

17c2cce14abe85d0fe569ebe00e47200

このようにデータストアで保存された結果が表示されます。うまくデータが保存されました。

996edf90af6d64b6e9198f02624dda03

今回データを保存するデータストアのテーブルを確認すると、先ほど投稿したデータが表示されていることも確認できます!

results matching ""

    No results matching ""