Bubble で使えるLakebase のデータ連携用のバックエンドAPI をノーコードで開発
CData API Server を使って、Bubble から Lakebase に接続してデータを取得する方法を説明します。
API Server の設定
以下のリンクからAPI Server の無償トライアルをスタートしたら、セキュアなLakebase OData サービスを作成していきましょう。
Lakebase への接続
Bubble からLakebase のデータを操作するには、まずLakebase への接続を作成・設定します。
- API Server にログインして、「Connections」をクリック、さらに「接続を追加」をクリックします。
- 「接続を追加」をクリックして、データソースがAPI Server に事前にインストールされている場合は、一覧から「Lakebase」を選択します。
- 事前にインストールされていない場合は、コネクタを追加していきます。コネクタ追加の手順は以下の記事にまとめてありますので、ご確認ください。
CData コネクタの追加方法はこちら >> - それでは、Lakebase への接続設定を行っていきましょう!
-
Databricks Lakebase に接続するには、以下のプロパティを設定します。
- DatabricksInstance: Databricks インスタンスまたはサーバーホスト名を指定します。形式は instance-abcdef12-3456-7890-abcd-abcdef123456.database.cloud.databricks.com です。
- Server: Lakebase データベースをホストするサーバーのホスト名または IP アドレスを指定します。
- Port(オプション): Lakebase データベースをホストするサーバーのポート番号を指定します。デフォルトは 5432 です。
- Database(オプション): Lakebase サーバーへの認証後に接続するデータベースを指定します。デフォルトでは認証ユーザーのデフォルトデータベースに接続します。
OAuth クライアント認証
OAuth クライアント資格情報を使用して認証するには、サービスプリンシパルで OAuth クライアントを構成します。手順の概要は以下のとおりです。
- 新しいサービスプリンシパルを作成・構成する
- サービスプリンシパルに権限を割り当てる
- サービスプリンシパル用の OAuth シークレットを作成する
詳細については、ヘルプドキュメントの「Setting Up OAuthClient Authentication」セクションをご参照ください。
OAuth PKCE 認証
PKCE(Proof Key for Code Exchange)を使用した OAuth code タイプで認証するには、以下のプロパティを設定します。
- AuthScheme: OAuthPKCE を指定します。
- User: 認証ユーザーのユーザー ID を指定します。
詳細については、ヘルプドキュメントをご参照ください。
- 接続情報の入力が完了したら、「保存およびテスト」をクリックします。
Databricks Lakebase に接続するには、以下のプロパティを設定します。
- DatabricksInstance: Databricks インスタンスまたはサーバーホスト名を指定します。形式は instance-abcdef12-3456-7890-abcd-abcdef123456.database.cloud.databricks.com です。
- Server: Lakebase データベースをホストするサーバーのホスト名または IP アドレスを指定します。
- Port(オプション): Lakebase データベースをホストするサーバーのポート番号を指定します。デフォルトは 5432 です。
- Database(オプション): Lakebase サーバーへの認証後に接続するデータベースを指定します。デフォルトでは認証ユーザーのデフォルトデータベースに接続します。
OAuth クライアント認証
OAuth クライアント資格情報を使用して認証するには、サービスプリンシパルで OAuth クライアントを構成します。手順の概要は以下のとおりです。
- 新しいサービスプリンシパルを作成・構成する
- サービスプリンシパルに権限を割り当てる
- サービスプリンシパル用の OAuth シークレットを作成する
詳細については、ヘルプドキュメントの「Setting Up OAuthClient Authentication」セクションをご参照ください。
OAuth PKCE 認証
PKCE(Proof Key for Code Exchange)を使用した OAuth code タイプで認証するには、以下のプロパティを設定します。
- AuthScheme: OAuthPKCE を指定します。
- User: 認証ユーザーのユーザー ID を指定します。
詳細については、ヘルプドキュメントをご参照ください。
API Server のユーザー設定
次に、API Server 経由でLakebase にアクセスするユーザーを作成します。「Users」ページでユーザーを追加・設定できます。やってみましょう。
- 「Users」ページで ユーザーを追加をクリックすると、「ユーザーを追加」ポップアップが開きます。
-
次に、「ロール」、「ユーザー名」、「権限」プロパティを設定し、「ユーザーを追加」をクリックします。
-
その後、ユーザーの認証トークンが生成されます。各ユーザーの認証トークンとその他の情報は「Users」ページで確認できます。
Lakebase 用のAPI エンドポイントの作成
ユーザーを作成したら、Lakebase のデータ用のAPI エンドポイントを作成していきます。
-
まず、「API」ページに移動し、
「 テーブルを追加」をクリックします。
-
アクセスしたい接続を選択し、次へをクリックします。
-
接続を選択した状態で、各テーブルを選択して確認をクリックすることでエンドポイントを作成します。
OData のエンドポイントを取得
以上でLakebase への接続を設定してユーザーを作成し、API Server でLakebase データのAPI を追加しました。これで、OData 形式のLakebase データをREST API で利用できます。API Server の「API」ページから、API のエンドポイントを表示およびコピーできます。
オンプレミスDB やファイルからのAPI Server 使用(オプション)
オンプレミスRDB やExcel/CSV などのファイルのデータを使用する場合には、API Server のCloug Gateway / SSH ポートフォワーディングが便利です。是非、Cloud Gatway の設定方法 記事を参考にしてください。
Lakebase のデータに接続したアプリを作成
OData エンドポイントをAPI Server に追加したら、Lakebase のデータへのライブ接続が可能なアプリをBubble で作成できます。
Bubble API Connector を設定
まずは、Bubble からCData API Server にアクセスするためのAPI Connector を設定します。
- アプリ内で、Plugins タブをクリックして Add plugins をクリックします。
- 「API Connector」を検索して「Install」をクリックします。
- インストール後、「Add another API」ボタンをクリックしてAPI を設定します。
- API に名前を設定します。
- Authentication を「HTTP Basic Auth」に設定します。
- Username をAPI Server のユーザーに設定します([email protected])。
- Password を上記のユーザーのPAT に設定します。
- API Call を展開して、「GET」コマンドを選択してURL を先ほど設定したOData エンドポイントに設定します。
- 「Initialize call」ボタンをクリックしてレスポンスのデータ型を必要に応じて調整します。
- 必要な変更を加えた後、「SAVE」をクリックします。
App UI の設定
API Connector を設定したら、Bubble アプリでLakebase のデータを取得できます。本記事では、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 を"API Server - <API Call の値>"(またはこれと同等な値)に設定します。
- 「Preview」をクリックしてLakebase からデータが取得できたことを確認します。
この時点で、バックエンドAPI を設定する手間なくLakebase のデータへのライブ接続を持つアプリケーションを開発できます。
クラウドアプリケーションからLakebase のデータへのライブ接続
Bubble からLakebase のリアルタイムデータに直接接続できるようになりました。これで、Lakebase のデータを複製せずにより多くの接続とアプリを作成できます。
まとめと30日の無償評価版のご案内
このように Lakebase 内のデータをBubble で利用することができるようになります。CData API Server は、30日の無償評価版があります。是非、お試しいただき、Bubble からのデータ参照を体感ください。