Aller au contenu principal

Ajouter une ressource Lakebase à une application Databricks

Ajoutez des bases de données Lakebase en tant que ressources Databricks Apps pour persister les données à travers les déploiements. Ces ressources basées sur PostgreSQL permettent à votre application de créer et de gérer des schémas et des tables qui conservent l'état.

Les types de ressources de base de données Lakebase suivants sont disponibles :

  • Lakebase Autoscaling : Organise les ressources en projets contenant des Branch et des bases de données.

  • Lakebase provisionnée : organise les ressources sous forme d'instances de base de données.

Les deux types utilisent le même modèle de connexion PostgreSQL et fournissent les mêmes variables d'environnement à votre application.

Ajouter une ressource de base de données.

Avant d'ajouter une base de données Lakebase en tant que ressource, consultez les prérequis des ressources de l'application.

remarque

Vous ne pouvez pas créer de nouvelles bases de données provisionnées après le 12 mars 2026, mais vous pouvez ajouter celles existantes en tant que ressources d'application. Consultez Mise à niveau vers le dimensionnement automatique.

  1. Dans la section Ressources de l'application lorsque vous créez ou modifiez une application, cliquez sur + Ajouter une ressource > Base de données .
  2. Choisissez une base de données. Pour l'autoscaling Lakebase, sélectionnez un projet, une Branch et une base de données. Pour Lakebase Provisioned, sélectionnez une instance de base de données et une base de données au sein de cette instance.
  3. Sélectionnez le niveau d'autorisation approprié pour votre application. Actuellement, la seule autorisation disponible est Peut se connecter et créer .
  4. (Facultatif) Spécifiez une clé de ressource personnalisée, c’est ainsi que vous référencez la base de données dans la configuration de votre application. La clé default est postgres pour Lakebase Autoscaling et database pour Lakebase Provisioned.

Vous devez avoir l'autorisation CAN MANAGE sur le projet Lakebase pour l'ajouter en tant que ressource d'application.

Lorsque vous ajoutez une ressource de base de données :

  • Databricks crée un rôle PostgreSQL dans la base de données sélectionnée. Le nom du rôle correspond à l'ID client du service principal. Si le rôle existe déjà, Databricks le réutilise.
  • Databricks accorde au Service Principal CONNECT et CREATE des privilèges sur la base de données sélectionnée. Ces privilèges permettent à l'application de créer des schémas et des tables dans la base de données.
  • Pour le dimensionnement automatique Lakebase, l’utilisateur qui ajoute la Ressource doit disposer de l’autorisation CAN MANAGE sur le projet.

Variables d'environnement

Lorsque vous déployez une application avec une ressource de base de données, Databricks définit les variables d'environnement suivantes pour la première ressource de base de données.

Si votre application utilise plusieurs bases de données PostgreSQL, ces variables ne reflètent que la première. Utilisez valueFrom avec la clé de ressource pour récupérer les détails de connexion de la base de données. Voir Utiliser des variables d'environnement pour accéder aux Ressources.

Variable

Description

PGAPPNAME

Nom de l'application

PGDATABASE

Nom de la base de données

PGHOST

Host name du serveur PostgreSQL

PGPORT

Port pour le serveur PostgreSQL

PGSSLMODE

Mode SSL pour la connexion

PGUSER

ID client et nom de rôle du Service Principal

Variable

Description

PGAPPNAME

Nom de l'application

PGDATABASE

Nom de la base de données

PGHOST

Host name du serveur PostgreSQL

PGPORT

Port pour le serveur PostgreSQL

PGSSLMODE

Mode SSL pour la connexion

PGUSER

ID client et nom de rôle du Service Principal

Supprimer une ressource de base de données

Si vous supprimez les ressources de la base de données d’une application, celle-ci tente de réaffecter tous les objets appartenant au Service Principal à l’utilisateur qui supprime la ressource.

La logique qu’utilise l’application dépend principalement du rôle que vous avez dans la base de données :

Vos autorisations

Rôle dans la base de données ?

Résultat

CAN MANAGE

Oui

Databricks vous réaffecte tous les objets appartenant au Service Principal et supprime le rôle du Service Principal.

CAN MANAGE

Non

Databricks crée un rôle pour vous, vous réattribue tous les objets détenus par le rôle du Service Principal, et supprime le rôle du Service Principal.

Non CAN MANAGE

N/A

Databricks supprime la ressource, mais ne supprime pas le rôle ni ne réattribue la propriété. Un avertissement s'affiche dans l'interface utilisateur, et vous devez nettoyer manuellement le rôle et les objets détenus ultérieurement.

Vos autorisations

Rôle dans la base de données ?

Résultat

CAN MANAGE

Oui

Databricks vous réaffecte tous les objets appartenant au Service Principal et supprime le rôle du Service Principal.

CAN MANAGE

Non

Databricks crée un rôle pour vous, vous réattribue tous les objets détenus par le rôle du Service Principal, et supprime le rôle du Service Principal.

Non CAN MANAGE

N/A

Databricks supprime la ressource, mais ne supprime pas le rôle ni ne réattribue la propriété. Un avertissement s'affiche dans l'interface utilisateur, et vous devez nettoyer manuellement le rôle et les objets détenus ultérieurement.

Notes

Tenez compte des éléments suivants lorsque vous ajoutez des bases de données en tant que ressources d’application :

  • Si vous révoquez CONNECT et CREATE d'une base de données et les accordez à une autre dans la même mise à jour, Databricks met à jour les privilèges mais ne recrée pas le rôle du Service Principal.

  • Les bases de données conservent l'état. Tous les schémas ou tables créés par une application restent même après que vous ayez redéployé ou arrêté l'application.

  • Si vous avez une application existante qui utilise une ressource database provisionnée Lakebase, elle continue de fonctionner après la mise à niveau vers l'Autoscaling. Les détails de connexion, les variables d'environnement et les rôles Postgres sont inchangés. Pour les nouvelles applications, ajoutez une ressource de base de données Lakebase à dimensionnement automatique.

important

Ne remplacez pas une ressource database par une ressource postgres dans une configuration d'application existante. Les types de ressources database et postgres créent des rôles Postgres distincts. La modification du type crée un nouveau rôle et rompt l'accès de votre application aux données existantes.