Bubble でPostgreSQL のデータと連携したアプリを作成
Bubble はアプリや業務用の開発・ローンチを容易にするローコード / ノーコードツールです。さらにCData Connect AI と連携することで、ノーコードアプリ開発用のPostgreSQL のデータへのクラウドベースのアクセスをノーコードで追加できます。本記事では、CData Connect AI 経由でBubble からPostgreSQL 連携を実現する方法を紹介します。
CData Connect AI はPostgreSQL のデータへのクラウドベースのOData インターフェースを提供し、Bubble からPostgreSQL のデータへのリアルタイム連携を実現します。
Connect AI を構成
Bubble でPostgreSQL のデータを操作するには、Connect AI からPostgreSQL に接続し、コネクションにユーザーアクセスを提供してPostgreSQL のデータのOData エンドポイントを作成する必要があります。
PostgreSQL に接続したら、目的のテーブルのOData エンドポイントを作成します。
(オプション)新しいConnect AI ユーザーの追加
必要であれば、Connect AI 経由でPostgreSQL に接続するユーザーを作成します。
- 「Users」ページに移動し、 Invite Users をクリックします。
- 新しいユーザーのE メールアドレスを入力して、 Send をクリックしてユーザーを招待します。
- 「Users」ページからユーザーを確認および編集できます。
パーソナルアクセストークンの追加
OAuth 認証をサポートしていないサービス、アプリケーション、プラットフォーム、またはフレームワークから接続する場合は、認証に使用するパーソナルアクセストークン(PAT)を作成できます。きめ細かなアクセス管理を行うために、サービスごとに個別のPAT を作成するのがベストプラクティスです。
- Connect AI アプリの右上にあるユーザー名をクリックし、「User Profile」をクリックします。
- 「User Profile」ページで「Access Token」セクションにスクロールし、 Create PAT をクリックします。
- PAT の名前を入力して Create をクリックします。
- パーソナルアクセストークンは作成時にしか表示されないため、必ずコピーして安全に保存してください。
Connect AI からPostgreSQL に接続
CData Connect AI では、簡単なクリック操作ベースのインターフェースでデータソースに接続できます。
- Connect AI にログインし、 Add Connection をクリックします。
- 「Add Connection」パネルから「PostgreSQL」を選択します。
-
必要な認証プロパティを入力し、PostgreSQL に接続します。
PostgreSQL への接続には、Server、Port(デフォルトは5432)、Database、およびUser、Password のプロパティを設定します。Database プロパティが設定されない場合には、User のデフォルトデータベースに接続します。
パスワード方式によるSSH 接続
パスワード方式によるSSH接続時に必要なプロパティ一覧を以下に示します。
- User: PostgreSQL のユーザ
- Password: PostgreSQL のパスワード
- Database: PostgreSQL の接続先データベース
- Server: PostgreSQL のサーバー
- Port: PostgreSQL のポート
- UserSSH: "true"
- SSHAuthMode: "Password"
- SSHPort: SSH のポート
- SSHServer: SSH サーバー
- SSHUser: SSH ユーザー
- SSHPassword: SSH パスワード
接続文字列形式では以下のようになります。
User=admin;Password=adminpassword;Database=test;Server=postgresql-server;Port=5432;UseSSH=true;SSHPort=22;SSHServer=ssh-server;SSHUser=root;SSHPassword=sshpasswd;
公開鍵認証方式によるSSH 接続
公開鍵認証によるSSH接続時に必要なプロパティ一覧を以下に示します。
- User: PostgreSQL のユーザ
- Password: PostgreSQL のパスワード
- Database: PostgreSQL の接続先データベース
- Server: PostgreSQL のサーバー
- Port: PostgreSQL のポート
- UserSSH: "true"
- SSHAuthMode: "Public_Key"
- SSHClientCertType: キーストアの種類
- SSHPort: SSH のポート
- SSHServer: SSH サーバー
- SSHUser: SSH ユーザー
- SSHClientCert: 秘密鍵ファイルのパス
接続文字列形式では以下のようになります。
User=admin;Password=adminpassword;Database=test;Server=PostgreSQL-server;Port=5432;UseSSH=true;SSHClientCertType=PEMKEY_FILE;SSHPort=22;SSHServer=ssh-server;SSHUser=root;SSHClientCert=C:\Keys\key.pem;
- Create & Test をクリックします。
- 「Add PostgreSQL Connection」ページの「Permissions」タブに移動し、ユーザーベースのアクセス許可を更新します。
Connect AI にPostgreSQL OData エンドポイントを追加する
PostgreSQL に接続したら、目的のテーブルのOData エンドポイントを作成します。
- OData ページに移動し、 Add をクリックして新しいOData エンドポイントを作成します。
- PostgreSQL 接続(例:PostgreSQL1)を選択し、Next をクリックします。
- 使用するテーブルを選択し、「Confirm」をクリックします。
コネクションとOData エンドポイントを設定したら、Bubble からPostgreSQL のデータに接続できます。
PostgreSQL のデータに接続したアプリを作成
OData エンドポイントをConnect AI に追加したら、PostgreSQL のデータへのライブ接続が可能なアプリをBubble で作成できます。
Bubble API Connector を設定
まずは、Bubble からCData Connect AI にアクセスするためのAPI Connector を設定します。
- アプリ内で、Plugins タブをクリックして Add plugins をクリックします。
- 「API Connector」を検索して「Install」をクリックします。
- インストール後、「Add another API」ボタンをクリックしてAPI を設定します。
- API に名前を設定します。
- Authentication を「HTTP Basic Auth」に設定します。
- Username をConnect AI のユーザーに設定します(user@mydomain.com)。
- Password を上記のユーザーのPAT に設定します。
- API Call を展開して、「GET」コマンドを選択してURL を先ほど設定したOData エンドポイント(例: https://cloud.cdata.com/api/odata/service/Orders)に設定します。
- 「Initialize call」ボタンをクリックしてレスポンスのデータ型を必要に応じて調整します。
- 必要な変更を加えた後、「SAVE」をクリックします。
App UI の設定
API Connector を設定したら、Bubble アプリでPostgreSQL のデータを取得できます。本記事では、Excel ライクなテーブルを表示できるUI コンポーネントでデータをリクエストします。
- Plugin タブで、「Excel-like HandsonTable」をインストールします。
- Design タブで、「Excel Table」をワークスペースに追加します。
- Excel Table のData source で、「Get data from an external API」を選択します。
- Type of content を「API Call value」に設定します。
- Data source を"CData Connect AI - <API Call の値>"(またはこれと同等な値)に設定します。
- 「Preview」をクリックしてPostgreSQL からデータが取得できたことを確認します。
この時点で、バックエンドAPI を設定する手間なくPostgreSQL のデータへのライブ接続を持つアプリケーションを開発できます。
クラウドアプリケーションからPostgreSQL のデータへのライブ接続
Bubble からPostgreSQL のリアルタイムデータに直接接続できるようになりました。これで、PostgreSQL のデータを複製せずにより多くの接続とアプリを作成できます。
クラウドアプリケーションから直接100を超えるSaaS 、ビッグデータ、NoSQL ソースへのリアルタイムデータアクセスを取得するには、CData Connect AI を参照してください。