将 Lakebase 资源添加到 Databricks 应用

将 Lakebase 数据库添加为 Databricks Apps 资源,以跨部署保存数据。 这些 PostgreSQL 支持的资源使应用能够创建和管理保留状态的架构和表。

以下类型的 Lakebase 数据库资源可用:

  • Lakebase 自动缩放:将资源组织为项目,其中包含分支和数据库。
  • 已预配 Lakebase:将资源组织为 数据库实例

这两种类型使用相同的 PostgreSQL 连接模型,并向应用提供相同的环境变量。

添加数据库资源

将 Lakebase 数据库添加为资源之前,请查看 应用资源先决条件

注释

无法在 2026 年 3 月 12 日之后创建新的预配数据库,但可以将现有数据库添加为应用资源。 默认情况下,请参阅 自动缩放

  1. 在创建或编辑应用时,在 “应用资源 ”部分中,单击“ + 添加资源>数据库”。
  2. 选择数据库。 对于 Lakebase 自动缩放,请选择项目、分支和数据库。 对于已预配的 Lakebase,请选择一个数据库实例以及该实例中的一个数据库。
  3. 为应用选择适当的权限级别。 目前,唯一可用的权限是 可以连接和创建
  4. (可选)指定自定义资源密钥,即在应用配置中引用数据库的方式。 默认密钥是用于 Lakebase 自动缩放的 postgres 和用于 Lakebase 预配的 database

必须具有 CAN MANAGE Lakebase 项目的权限才能将其添加为应用资源。

添加数据库资源时:

  • Azure Databricks在所选数据库中创建 PostgreSQL 角色。 角色名称与 服务主体的 客户端 ID 匹配。 如果该角色已存在,Azure Databricks重复使用它。
  • Azure Databricks授予对所选数据库的服务主体 CONNECTCREATE 特权。 这些权限允许应用在数据库中创建架构和表。
  • 对于 Lakebase 自动缩放,添加资源的用户必须对项目具有 CAN MANAGE 权限。

环境变量

使用数据库资源部署应用时,Azure Databricks为第一个数据库资源设置以下环境变量。

如果应用使用多个 PostgreSQL 数据库,则这些变量仅反映第一个。 使用 valueFrom 与资源密钥来检索数据库的连接详细信息。 请参阅 使用环境变量访问资源

变量 DESCRIPTION
PGAPPNAME 应用名称
PGDATABASE 数据库的名称
PGHOST PostgreSQL 服务器的主机名
PGPORT PostgreSQL 服务器的端口
PGSSLMODE 连接的 SSL 模式
PGUSER 服务主体的客户端 ID 和角色名称

删除数据库资源

如果从应用中删除数据库资源,该应用会尝试将服务主体拥有的所有对象重新分配给删除该资源的用户。

应用使用的逻辑主要取决于你是否在数据库中具有角色:

你的权限 数据库中的角色? 结果
CAN MANAGE 是的 Azure Databricks将服务主体拥有的所有对象重新分配给你,并删除服务主体的角色。
CAN MANAGE Azure Databricks为你创建角色,将服务主体角色拥有的所有对象重新分配给你,并删除服务主体的角色。
CAN MANAGE Azure Databricks删除资源,但不会删除角色或重新分配所有权。 UI 中会显示一条警告,以后必须手动清理角色和拥有的对象。

注释

将数据库添加为应用资源时,请考虑以下事项:

  • 如果从一个数据库撤消 CONNECTCREATE,并在同一更新中向另一个数据库授予它们,Azure Databricks更新特权,但不重新创建服务主体的角色。
  • 数据库持久化状态。 即使重新部署或停止应用,应用创建的任何架构或表也会保持不变。