Lakebase リソースをDatabricksアプリに追加する
Lakebase データベースをDatabricks Appsリソースとして追加して、デプロイ全体でデータを保持します。 これらのPostgreSQLを基盤とするリソースを使用すると、アプリケーションは状態を保持するスキーマとテーブルを作成および管理できます。
Lakebaseデータベースのリソースには、以下の種類があります。
- Lakebase オートスケール : ブランチとデータベースを含むプロジェクトとしてリソースを編成します。
- Lakebase プロビジョニング : リソースをデータベース インスタンスとして編成します。
どちらのタイプも同じPostgreSQL接続モデルを使用し、アプリケーションに同じ環境変数を提供します。
データベースリソースの追加
Lakebaseデータベースをリソースとして追加する前に、アプリのリソース要件を確認してください。
- Lakebase Autoscaling
- Lakebase Provisioned
- アプリを作成または編集する際は、 「設定」 ステップに進んでください。
- [アプリ リソース] セクションで、 [+ リソースの追加] をクリックします。
- リソースの種類として 「データベース」 を選択してください。
- プロジェクト、ブランチ、データベースを選択してください。
- アプリに適した権限レベルを選択します。現在、使用可能な権限は、 接続して作成できるだけです 。
- (オプション)カスタム リソース キー (アプリ構成でデータベースを参照する方法) を指定します。デフォルトのキーは
postgresです。
Lakebaseプロジェクトをアプリリソースとして追加するには、Lakebaseプロジェクトに対するCAN MANAGE権限が必要です。
2026年3月12日以降は、新しいプロビジョニング済みデータベースを作成することはできませんが、既存のデータベースをアプリのリソースとして追加することは可能です。オートスケール by 自信を参照してください。
- アプリを作成または編集するときは、 「構成」 ステップに移動します。
- [アプリ リソース] セクションで、 [+ リソースの追加] をクリックします。
- リソースの種類として [データベース] を選択します。
- データベースインスタンスを選択します。
- そのインスタンス内のデータベースを選択します。
- アプリに適した権限レベルを選択します。現在、使用可能な権限は、 接続して作成できるだけです 。
- (オプション)カスタム リソース キー (アプリ構成でデータベースを参照する方法) を指定します。デフォルトのキーは
databaseです。
データベース・リソースを追加すると、次のようになります。
- Databricksは、選択したデータベースにPostgreSQLロールを作成します。役割名は、サービスプリンシパルのクライアントIDと一致します。役割が既に存在する場合、Databricks はそれを再利用します。
- Databricks、選択したデータベースに対する権限と
CONNECT``CREATE権限をサービスプリンシパルに付与します。これらの権限により、アプリはデータベースにスキーマとテーブルを作成できます。 - Lakebase オートスケールの場合、リソースを追加するユーザーはプロジェクトに対する
CAN MANAGE権限を持っている必要があります。
環境変数
データベース リソースを使用してアプリをデプロイすると、Databricks は最初のデータベース リソースに対して次の環境変数を設定します。
アプリが複数のPostgreSQLデータベースを使用している場合、これらの変数は最初のデータベースのみを反映します。リソースキーとともにvalueFromを使用して、データベースへの接続詳細を取得します。リソースにアクセスするには環境変数を使用するを参照してください。
変数 | 説明 |
|---|---|
| アプリ名 |
| データベースの名前 |
| PostgreSQL サーバーのホスト名 |
| PostgreSQL サーバーのポート |
| 接続の SSL モード |
| サービスプリンシパルのクライアントIDとロール名 |
データベース・リソースの削除
アプリからデータベース リソースを削除すると、アプリは、リソースを削除するユーザーに、サービスプリンシパルが所有するすべてのオブジェクトを再割り当てしようとします。
アプリが使用するロジックは、主にデータベース内でユーザーが役割を持っているかどうかによって決まります。
あなたの権限 | データベースにおける役割は? | 結果 |
|---|---|---|
| Yes | Databricks は、サービスプリンシパルが所有するすべてのオブジェクトを再割り当てし、サービスプリンシパルの役割を削除します。 |
| No | Databricksはあなたのためにロールを作成し、サービスプリンシパルのロールが所有するすべてのオブジェクトをあなたに再割り当てし、サービスプリンシパルのロールを削除します。 |
No | N/A | Databricks はリソースを削除しますが、ロールの削除や所有権の再割り当ては行いません。UI に警告が表示され、後でロールと所有オブジェクトを手動でクリーンアップする必要があります。 |
注意
データベースをアプリ リソースとして追加する場合は、次の点を考慮してください。
- 1 つのデータベースから
CONNECTとCREATEを取り消し、同じ更新で別のデータベースで付与した場合、 Databricks は権限を更新しますが、サービスプリンシパルのロールは再作成しません。 - データベースは状態を保持します。アプリによって作成されたスキーマまたはテーブルは、アプリを再デプロイまたは停止した後でも残ります。