Freigeben über


Hinzufügen einer Lakebase-Ressource zu einer Databricks-App

Fügen Sie Lakebase-Datenbankinstanzen als Databricks Apps-Ressourcen hinzu, um Daten über Bereitstellungen hinweg zu speichern. Mit diesen postgreSQL-gesicherten Ressourcen können Ihre App Schemas und Tabellen erstellen und verwalten, die den Zustand beibehalten.

Von Bedeutung

Lakebase-Datenbankinstanzen befinden sich in der öffentlichen Vorschau. Ihr Arbeitsbereichsadministrator muss sie aktivieren, bevor Sie sie als App-Ressource hinzufügen können.

Hinzufügen einer Datenbankressource

Bevor Sie eine Lakebase-Datenbankinstanz als Ressource hinzufügen, überprüfen Sie die Voraussetzungen für die App-Ressource.

  1. Wenn Sie eine App erstellen oder bearbeiten, navigieren Sie zum Schritt "Konfigurieren" .
  2. Klicken Sie im Abschnitt "App-Ressourcen " auf +Ressource hinzufügen.
  3. Wählen Sie "Datenbank " als Ressourcentyp aus.
  4. Wählen Sie eine Datenbankinstanz aus.
  5. Wählen Sie eine Datenbank in dieser Instanz aus.
  6. Wählen Sie die entsprechende Berechtigungsstufe für Ihre App aus. Derzeit ist die einzige verfügbare Berechtigung can connect and create.
  7. (Optional) Geben Sie einen benutzerdefinierten Ressourcenschlüssel an, mit dem Sie in der App-Konfiguration auf die Datenbank verweisen. Der Standardwert ist database.

Wenn Sie eine Datenbankressource hinzufügen:

  • Azure Databricks erstellt eine PostgreSQL-Rolle in der ausgewählten Datenbankinstanz. Der Rollenname entspricht der Client-ID des Dienstprinzipals . Wenn die Rolle bereits vorhanden ist, verwendet Azure Databricks sie wieder.
  • Azure Databricks gewährt dem Dienstprinzipal CONNECT und CREATE Berechtigungen auf die ausgewählte Datenbank. Mit diesen Berechtigungen können die App Schemas und Tabellen in der Datenbank erstellen.

Umgebungsvariablen

Wenn Sie eine App mit einer Datenbankressource bereitstellen, legt Azure Databricks die folgenden Umgebungsvariablen für die erste Datenbankressource fest.

Wenn Ihre App mehrere Datenbanken verwendet, spiegeln diese Variablen nur den ersten wider. Verwenden Sie valueFrom mit dem Ressourcenschlüssel, um den Hostnamen der Datenbank abzurufen. Weitere Informationen finden Sie unter Verwenden von Umgebungsvariablen für den Zugriff auf Ressourcen.

Variable BESCHREIBUNG
PGAPPNAME App-Name
PGDATABASE Name der Datenbank
PGHOST Hostname des PostgreSQL-Servers
PGPORT Port für den PostgreSQL-Server
PGSSLMODE SSL-Modus für die Verbindung
PGUSER Client-ID und Rollenname des Service Principals

Entfernen einer Datenbankressource

Wenn Sie Datenbankressourcen aus einer App entfernen, versucht die App, alle Objekte, die dem Dienstprinzipal gehören, dem Benutzer zuzuweisen, der die Ressource entfernt.

Die Von der App verwendete Logik hängt in erster Linie davon ab, ob Sie eine Rolle in der Datenbankinstanz haben:

Ihre Berechtigungen Rolle in datenbankinstanz? Ergebnis
CAN MANAGE Ja Azure Databricks ordnet alle dem Dienstprinzipal gehörenden Objekte Ihnen zu und löscht die Rolle des Dienstprinzipals.
CAN MANAGE Nein Azure Databricks erstellt eine Rolle für Sie, weist Ihnen alle Objekte, die im Besitz der Rolle des Service-Auftrags sind, neu zu und löscht die Rolle des Service-Auftrags.
Nein CAN MANAGE Nicht verfügbar Azure Databricks entfernt die Ressource, löscht jedoch nicht die Rolle oder weist Besitzrechte neu zu. In der Benutzeroberfläche wird eine Warnung angezeigt, und Sie müssen die Rolle und die im Besitz befindlichen Objekte später manuell bereinigen.

Hinweise

Beachten Sie Folgendes, wenn Sie Datenbanken als App-Ressourcen hinzufügen:

  • Wenn Sie CONNECT and CREATE from one database and grant them on another In same update, Azure Databricks updates the privileges but doesn't recreate the service principal's role.
  • Datenbanken bewahren ihren Zustand. Alle von einer App erstellten Schemas oder Tabellen bleiben auch nach der erneuten Bereitstellung oder Beendigung der App bestehen.