メインコンテンツまでスキップ

Lakebase リソースを Databricks アプリに追加する

Lakebase データベース インスタンスを Databricks Apps リソースとして追加して、デプロイ間でデータを保持します。これらのPostgreSQLでバックアップされたリソースを使用すると、アプリは状態を保持するスキーマとテーブルを作成および管理できます。

備考

プレビュー

Lakebaseデータベースインスタンスは パブリックプレビュー段階です。それらをアプリ リソースとして追加する前に、ワークスペース管理者がそれらを有効にする必要があります。

データベースリソースの追加

Lakebaseデータベースインスタンスをアプリリソースとして追加する前に、 前提条件を満たしていることを確認してください。

Databricksアプリにリソースを追加する」の手順に従って、データベースリソースを追加します。

  1. アプリを作成または編集するときに、[ アプリ リソース ] セクションで、[ + リソースの追加 ] をクリックします。
  2. リソースの種類として [データベース] を選択します。
  3. データベースインスタンスを選択します。
  4. そのインスタンス内のデータベースを選択します。
  5. アプリに適した権限レベルを選択します。現在、使用可能な権限は、 接続して作成できるだけです
  6. (オプション)カスタム リソース キー (アプリ構成でデータベースを参照する方法) を指定します。デフォルトのキーは databaseです。

データベース・リソースを追加すると、次のようになります。

  • Databricks は、選択したデータベース インスタンスに PostgreSQL ロールを作成します。ロール名は 、サービスプリンシパルの クライアント ID と一致します。 ロールが既に存在する場合、Databricks はそれを再利用します。
  • Databricks、選択したデータベースに対する権限とCONNECT``CREATE権限をサービスプリンシパルに付与します。これらの権限により、アプリはデータベースにスキーマとテーブルを作成できます。

環境変数

データベース リソースを使用してアプリをデプロイすると、Databricks は最初のデータベース リソースに対して次の環境変数を設定します。

アプリで複数のデータベースを使用している場合、これらの変数は最初のデータベースのみを反映します。valueFrom をリソース キーと共に使用して、データベースのホスト名を取得します。環境変数を使用してリソースにアクセスするを参照してください。

変数

説明

PGAPPNAME

アプリ名

PGDATABASE

データベースの名前

PGHOST

PostgreSQL サーバーのホスト名

PGPORT

PostgreSQL サーバーのポート

PGSSLMODE

接続の SSL モード

PGUSER

サービスプリンシパルのクライアントIDとロール名

データベース・リソースの削除

アプリからデータベース リソースを削除すると、アプリは、リソースを削除するユーザーに、サービスプリンシパルが所有するすべてのオブジェクトを再割り当てしようとします。

アプリで使用されるロジックは、主にデータベース インスタンスにロールがあるかどうかによって異なります。

あなたの権限

データベースインスタンスでの役割

結果

CAN MANAGE

Yes

Databricks は、サービスプリンシパルが所有するすべてのオブジェクトを再割り当てし、サービスプリンシパルの役割を削除します。

CAN MANAGE

No

Databricks は、ロールを作成し、サービスプリンシパルのロールが所有するすべてのオブジェクトを再割り当てし、サービスプリンシパルのロールを削除します。

No CAN MANAGE

N/A

Databricks はリソースを削除しますが、ロールの削除や所有権の再割り当ては行いません。UI に警告が表示され、後でロールと所有オブジェクトを手動でクリーンアップする必要があります。

筆記

データベースをアプリ リソースとして追加する場合は、次の点を考慮してください。

  • 1 つのデータベースから CONNECTCREATE を取り消し、同じ更新で別のデータベースで付与した場合、 Databricks は権限を更新しますが、サービスプリンシパルのロールは再作成しません。
  • データベースは状態を保持します。アプリによって作成されたスキーマまたはテーブルは、アプリを再デプロイまたは停止した後でも残ります。