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