將 Lakebase 資料庫執行個體 新增為 Databricks Apps 資源,以跨部署保存資料。 這些 PostgreSQL 支援的資源可讓您的應用程式建立和管理保留狀態的架構和數據表。
這很重要
Lakebase 資料庫實例處於 公開預覽狀態。 您的工作區管理員必須先啟用它們,才能將它們新增為應用程式資源。
新增資料庫資源
在你將 Lakebase 資料庫實例作為資源前,先先檢視 應用程式資源的前置條件。
- 當你建立或編輯應用程式時,請切換到 「配置 」步驟。
- 在 應用程式資源 區塊,點擊 + 新增資源。
- 選取 [資料庫 ] 作為資源類型。
- 選擇資料庫執行個體。
- 選擇該執行個體中的資料庫。
- 為您的應用程式選取適當的權限層級。 目前,唯一可用的權限是 可以連線和建立。
- (選用)指定自訂資源索引鍵,這是您在應用程式組態中參考資料庫的方式。 預設索引鍵是
database。
當您新增資料庫資源時:
- Azure Databricks 會在選取的資料庫實例中建立 PostgreSQL 角色。 角色名稱符合 服務主體的 用戶端標識碼。 如果角色已經存在,Azure Databricks 會重複使用它。
- Azure Databricks 會授與所選資料庫的服務主體
CONNECT和CREATE許可權。 這些許可權可讓應用程式在資料庫中建立架構和數據表。
環境變數
當您使用資料庫資源部署應用程式時,Azure Databricks 會為第一個資料庫資源設定下列環境變數。
如果您的應用程式使用多個資料庫,這些變數只會反映第一個資料庫。 搭配資源金鑰使用 valueFrom 來擷取資料庫的主機名。 請參閱 使用環境變數來存取資源。
| 變數 | 說明 |
|---|---|
PGAPPNAME |
應用程式名稱 |
PGDATABASE |
資料庫名稱 |
PGHOST |
PostgreSQL 伺服器的主機名 |
PGPORT |
PostgreSQL 伺服器的埠 |
PGSSLMODE |
連線的 SSL 模式 |
PGUSER |
服務主體的用戶端識別碼和角色名稱 |
拿掉資料庫資源
如果您從應用程式移除資料庫資源,應用程式會嘗試將服務主體所擁有的所有物件重新指派給移除資源的使用者。
應用程式使用的邏輯主要取決於您在資料庫實例中是否有角色:
| 您的許可權 | 資料庫實例中的角色? | 結果 |
|---|---|---|
CAN MANAGE |
是的 | Azure Databricks 會將服務主體所擁有的所有物件重新指派給您,並刪除服務主體的角色。 |
CAN MANAGE |
否 | Azure Databricks 會為您建立角色、將服務主體角色所擁有的所有物件重新指派給您,並刪除服務主體的角色。 |
不 CAN MANAGE |
N/A | Azure Databricks 會移除資源,但不會刪除角色或重新指派擁有權。 UI 中會出現警告,您稍後必須手動清除角色和擁有的物件。 |
註釋
當您將資料庫新增為應用程式資源時,請考慮下列事項:
- 如果您在一個資料庫撤銷
CONNECT和CREATE,並在相同的更新中將它們授與另一個資料庫,Azure Databricks 會更新權限,但不會重新建立服務帳戶的角色。 - 資料庫持續保存狀態。 即使在您重新部署或停止應用程式之後,應用程式所建立的任何架構或數據表仍會維持不變。