Добавление ресурса Lakebase в приложение Databricks

Добавьте базы данных Lakebase в качестве ресурсов Databricks Apps для сохранения данных в разных развертываниях. Эти ресурсы с поддержкой PostgreSQL позволяют приложению создавать схемы и таблицы, которые сохраняют состояние.

Доступны следующие типы ресурсов базы данных Lakebase:

  • Автомасштабирование Lakebase: упорядочивает ресурсы в виде проектов , содержащих ветви и базы данных.

Оба типа используют одну и ту же модель подключения PostgreSQL и предоставляют одинаковые переменные среды для приложения.

Добавление ресурса базы данных

Перед добавлением базы данных Lakebase в качестве ресурса просмотрите предварительные требования к ресурсу приложения.

Замечание

Вы не можете создать новые подготовленные базы данных после 12 марта 2026 г., но можно добавить существующие в качестве ресурсов приложения. См. раздел "Обновление до автомасштабирования".

  1. В разделе "Ресурсы приложения" при создании или изменении приложения нажмите кнопку "Добавить> ресурсов".
  2. Выберите базу данных. Для автомасштабирования Lakebase выберите проект, ветвь и базу данных. Для Lakebase Provisioned выберите экземпляр базы данных и соответствующую базу данных.
  3. Выберите соответствующий уровень разрешений для приложения. В настоящее время единственное доступное разрешение — можно подключаться и создавать.
  4. (Необязательно) Укажите пользовательский ключ ресурса, который является ссылкой на базу данных в конфигурации приложения. Ключ по умолчанию — это postgres для Lakebase Autoscaling и database для Lakebase Provisioned.

Чтобы добавить его в качестве ресурса приложения, необходимо иметь CAN MANAGE разрешение на проект Lakebase.

При добавлении ресурса базы данных:

  • Azure Databricks создает роль PostgreSQL в выбранной базе данных. Имя роли соответствует идентификатору клиента субъекта-службы . Если роль уже существует, Azure Databricks повторно использует ее.
  • Azure Databricks предоставляет субъекту-службе привилегии CONNECT и CREATE в выбранной базе данных. Эти привилегии позволяют приложению создавать схемы и таблицы в базе данных.
  • Для автомасштабирования Lakebase пользователь, добавляющий ресурс, должен иметь CAN MANAGE разрешение на проект.

Переменные среды

При развертывании приложения с ресурсом базы данных Azure Databricks задает следующие переменные среды для первого ресурса базы данных.

Если приложение использует несколько баз данных PostgreSQL, эти переменные отражают только первую. Используйте ресурсный ключ valueFrom, чтобы получить информацию о подключении к базе данных. См. раздел "Использование переменных среды для доступа к ресурсам".

Переменная Описание
PGAPPNAME Имя приложения
PGDATABASE Имя базы данных.
PGHOST Имя узла сервера PostgreSQL
PGPORT Порт для сервера PostgreSQL
PGSSLMODE Режим SSL для подключения
PGUSER Идентификатор клиента и имя роли субъекта-службы

Удаление ресурса базы данных

При удалении ресурсов базы данных из приложения приложение пытается переназначить все объекты, принадлежащие субъекту-службе, пользователю, удалив ресурс.

Логика, которую приложение использует в первую очередь, зависит от того, есть ли у вас роль в базе данных:

Ваши разрешения Роль в базе данных? Результат
CAN MANAGE Да Azure Databricks переназначает вам все объекты, принадлежащие служебному принципалу, и удаляет его роль.
CAN MANAGE нет Azure Databricks создает роль для вас, переназначает все объекты, принадлежащие роли субъекта-службы, и удаляет роль субъекта-службы.
Нет CAN MANAGE Не применимо Azure Databricks удаляет ресурс, но не удаляет роль или переназначает владение. Предупреждение отображается в пользовательском интерфейсе, и позже необходимо вручную очистить роль и принадлежащие объекты.

Примечания.

При добавлении баз данных в качестве ресурсов приложения следует учитывать следующее:

  • Если отменить CONNECT и CREATE из одной базы данных и предоставить их другой в том же обновлении, Azure Databricks обновляет привилегии, но не создает роль служебного принципала.
  • Базы данных сохраняют состояние. Все схемы или таблицы, созданные приложением, остаются даже после повторного развертывания или остановки приложения.
  • Если у вас есть существующее приложение, которое использует ресурс Lakebase Provisioned database, оно продолжает работать после перехода на автомасштабирование. Сведения о подключении, переменные среды и роли Postgres не изменяются. Для новых приложений добавьте ресурс базы данных Lakebase Autoscaling.

    Important

    Не заменяйте ресурс database на postgres в существующей конфигурации приложения. Типы ресурсов database и postgres создают отдельные роли Postgres. Изменение типа создает новую роль и прерывает доступ приложения к существующим данным.