【App BUilder】Lakebase 連携用のAPI をノーコードで作ってApp Builder で使う方法
App Builder はインフラジスティックス社が提供している「ドラッグアンドドロップで迅速なアプリケーション開発作成を可能にする」ローコードツールです。この記事では、CData API Server を使ってApp Builder から Lakebase に接続してデータを取得する方法を説明します。
API Server の設定
以下のリンクからAPI Server の無償トライアルをスタートしたら、セキュアなLakebase OData サービスを作成していきましょう。
Lakebase への接続
App Builder から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 の設定方法 記事を参考にしてください。
App Builder でプロジェクトを作成する
Web API の準備ができたら、App Builder で作業を進めていきます。
- App Builder を立ち上げて「+新しいアプリ」をクリックします。
- テンプレートから任意のものを選択します。
- これでアプリを作成するための下準備が整いました。
データソースの追加
前述の通りApp Builder ではREST API に接続したアプリを手軽に作成することができます。API 接続部分はあらかじめデータソースとして定義しておくことで、簡単にUI とバインドすることができるようになるので、まずはこのデータソースの準備を進めます。
- 画面左の「データ」タブに移動し新しく「REST API」を追加します。
- 「REST API データソースの設定」で任意の名称を入力し、ソースとして「OpenAPI」または「URL の追加」を選択します。今回はOpenAPI の手順で解説します。OpenAPI を使わない場合は「URL の追加」で手動で設定します。
- ここでは先程CData Connect AI からダウンロードしておいたOpenAPI の定義を使用するので「定義のアップロード」をクリックします。
- アップロードが完了したら「エンドポイントの設定」をクリックします。
- 「エンドポイントの設定」ではOpenAPI で定義されているエンドポイントの一覧の中から利用するものを選択し、App Builder で利用するデータソースとして定義します。今回はデータの一覧が取得できるGET エンドポイントを指定し、事前に作成したユーザーID・トークンを使って必要な認証情報を入力します。
- 「送信」をクリックして「200OK」を受け取ったら接続はOKです。
- 併せてエンドポイントのベースURL から「/$oas」を除外しておきましょう。
- 最後にデータの選択です。ここではUI 上にマッピングするためのデータフィールドを持つ配列要素を指定します。CData API Server はすべて「value」配下で要素を提供するための以下のように「value」のところにチェックを入れておくだけでOKです。
Grid を配置
データソースの設定が完了したら、一覧画面を作成していきましょう。今回はGrid のコンポーネントを利用して、一覧画面を作成します。
- 「コンポーネント」タブに移動して、「Grid」を選択し画面上に配置します。
- デフォルトではダミーデータが表示されているので、「GRIDプロパティの設定」→「Data」から先程作成したCData API Server の接続設定を選択します。
- これを行うだけで、そのまま画面上にCData API Server 経由で取得した結果が一覧画面として構成されます。
- App Builder で作成したアプリは最終的にAngular やBlazor として出力することができます。これを任意のサーバー・クラウド環境にホスティングするだけで、簡単にアプリが作成できます。
まとめと30日の無償評価版のご案内
このように Lakebase 内のデータをApp Builder で利用することができるようになります。CData API Server は、30日の無償評価版があります。是非、お試しいただき、App Builder からのデータ参照を体感ください。