Condividi tramite


Aggiungere una risorsa Lakebase a un'app Databricks

Aggiungere istanze di database Lakebase come risorse di Databricks Apps per rendere persistenti i dati tra le distribuzioni. Queste risorse supportate da PostgreSQL consentono all'app di creare e gestire schemi e tabelle che mantengono lo stato.

Importante

Le istanze del database Lakebase sono in anteprima pubblica. L'amministratore dell'area di lavoro deve abilitarli prima di poterli aggiungere come risorsa dell'app.

Aggiungere una risorsa di database

Prima di aggiungere un'istanza del database Lakebase come risorsa, esaminare i prerequisiti delle risorse dell'app.

  1. Quando si crea o si modifica un'app, passare al passaggio Configura .
  2. Nella sezione Risorse dell'app fare clic su + Aggiungi risorsa.
  3. Selezionare Database come tipo di risorsa.
  4. Scegliere un'istanza del database.
  5. Scegliere un database all'interno di tale istanza.
  6. Selezionare il livello di autorizzazione appropriato per l'app. Attualmente, l'unica autorizzazione disponibile è Può connettersi e creare.
  7. (Facoltativo) Specificare una chiave di risorsa personalizzata, ovvero come fare riferimento al database nella configurazione dell'app. La chiave predefinita è database.

Quando si aggiunge una risorsa di database:

  • Azure Databricks crea un ruolo PostgreSQL nell'istanza del database selezionata. Il nome del ruolo corrisponde all'ID client del principale di servizio. Se il ruolo esiste già, Azure Databricks lo riutilizza.
  • Azure Databricks assegna i privilegi al principale del servizio CONNECT e CREATE nel database selezionato. Questi privilegi consentono all'app di creare schemi e tabelle nel database.

Variabili di ambiente

Quando si distribuisce un'app con una risorsa di database, Azure Databricks imposta le variabili di ambiente seguenti per la prima risorsa di database.

Se l'app usa più database, queste variabili riflettono solo la prima. Usare valueFrom con la chiave di risorsa per recuperare il nome host del database. Vedere Usare le variabili di ambiente per accedere alle risorse.

Variabile Descrizione
PGAPPNAME Nome dell'app
PGDATABASE Nome del database
PGHOST Nome host del server PostgreSQL
PGPORT Porta per il server PostgreSQL
PGSSLMODE Modalità SSL per la connessione
PGUSER ID client e nome del ruolo dell'entità servizio

Rimuovere una risorsa di database

Se si rimuovono le risorse di database da un'app, l'app tenta di riassegnare tutti gli oggetti di proprietà dell'entità servizio all'utente rimuovendo la risorsa.

La logica usata dall'app dipende principalmente dalla presenza di un ruolo nell'istanza del database:

Autorizzazioni Ruolo nell'istanza del database? Risultato
CAN MANAGE Azure Databricks riassegna tutti gli oggetti di proprietà dell'entità servizio all'utente ed elimina il ruolo dell'entità servizio.
CAN MANAGE NO Azure Databricks crea un ruolo per te, riassegna tutti gli oggetti di proprietà del ruolo del principal del servizio a te e elimina il ruolo del principal del servizio.
No CAN MANAGE Non disponibile Azure Databricks rimuove la risorsa, ma non elimina il ruolo o riassegna la proprietà. Viene visualizzato un avviso nell'interfaccia utente ed è necessario pulire manualmente il ruolo e gli oggetti di proprietà in un secondo momento.

Note

Quando si aggiungono database come risorse dell'app, tenere presente quanto segue:

  • Se si revoca CONNECT e CREATE da un database e li si concede a un altro nello stesso aggiornamento, Azure Databricks aggiorna i privilegi, ma non ricrea il ruolo dell'entità servizio.
  • Stato di persistenza dei database. Tutti gli schemi o le tabelle create da un'app rimangono anche dopo la ri-distribuzione o l'arresto dell'app.