Condividi tramite


Distribuire un'app Databricks

Dopo aver creato e sviluppato l'app Azure Databricks, distribuirla per renderla accessibile nell'area di lavoro di Azure Databricks. La distribuzione compila l'app, installa le dipendenze e la esegue usando la configurazione definita nei file di progetto. È possibile distribuire app usando l'interfaccia utente di Azure Databricks o l'interfaccia della riga di comando di Databricks.

Annotazioni

Se si crea un'app da un modello, Azure Databricks lo distribuisce automaticamente quando viene creato per la prima volta. Tuttavia, è comunque possibile ri-distribuirlo in un secondo momento dopo aver apportato modifiche. Vedere Creare un'app Databricks da un modello.

Logica di distribuzione

Databricks Apps supporta la distribuzione di applicazioni che usano Python, Node.jso una combinazione di entrambi. Ciò consente architetture flessibili, ad esempio un front-end Node.js con un back-end Python.

Durante la distribuzione, il processo di compilazione verifica la presenza di un package.json file nella radice della directory dell'app per determinare se viene usato Node.js. Se presente, include passaggi di compilazione specifici di Node insieme ai passaggi di Python. La logica di distribuzione segue questo modello:

Se package.json è presente:

  1. Eseguire npm install
  2. Esegui pip install -r requirements.txt (se esiste)
  3. Eseguire npm run build (se un build script è definito in package.json)
  4. Eseguire il comando specificato in app.yamlo npm run start se non è specificato alcun comando

Annotazioni

Se non viene specificato alcun comando in app.yaml, Azure Databricks esegue npm run start, anche se l'app include codice Python. Per eseguire sia Processi Python che Node.js, definire uno script personalizzato start che usa uno strumento come concurrently per avviare entrambi. Ad esempio: concurrently "npm run start:node" "python my_app.py".

Se package.json non è presente:

  1. Esegui pip install -r requirements.txt (se esiste)
  2. Eseguire il comando specificato in app.yamlo python <my-app>.py se non è specificato alcun comando

Preparare la distribuzione

Prima di distribuire l'app, verificare che il progetto includa i componenti necessari:

Inoltre, assicurarsi che l'entità servizio dell'app abbia accesso alla cartella del codice sorgente.

Scegliere un'origine di distribuzione

È possibile distribuire app Databricks dalle origini seguenti:

  • Cartella dell'area di lavoro : caricare i file dell'app in una cartella dell'area di lavoro e distribuirli da questa posizione. Questo è il metodo di distribuzione standard.
  • Repository Git : configurare un repository Git per un'app e distribuirlo direttamente senza caricare i file nell'area di lavoro. L'app legge il codice dal riferimento Git configurato (ramo, tag o commit) ogni volta che si distribuisce. Tutti i principali provider Git sono supportati, tra cui GitHub, GitLab e Bitbucket. Per un elenco completo dei provider supportati, vedere Connettere il provider Git a Databricks.

È possibile passare dall'area di lavoro alle origini Git per la stessa app in qualsiasi momento.

Distribuire l'app

Le sezioni seguenti descrivono come eseguire la distribuzione da una cartella dell'area di lavoro o direttamente da un repository Git.

Eseguire la distribuzione da una cartella dell'area di lavoro

Interfaccia utente di Databricks

Per distribuire un'app dall'interfaccia utente di Azure Databricks:

  1. Caricare i file dell'app nell'area di lavoro di Azure Databricks. Per istruzioni, vedere Importare un file.
  2. Nella barra laterale fare clic su icona dell’ambiente di calcoloAmbiente di calcolo.
  3. Passare alla scheda App e fare clic sul collegamento all'app nella colonna Nome .
  4. Fare clic su Distribuisci e selezionare la cartella nell'area di lavoro in cui sono stati caricati i file dell'app.
  5. Fare clic su Seleziona, quindi su Distribuisci.
  6. Esaminare la configurazione e fare clic su Distribuisci.

Interfaccia a riga di comando di Databricks

Per distribuire un'app usando l'interfaccia della riga di comando:

  1. Aprire un terminale e passare alla directory che contiene i file dell'app.

  2. Caricare i file dell'app nell'area di lavoro di Azure Databricks usando il sync comando . Sostituire il percorso con il percorso dell'area di lavoro in cui si vogliono caricare i file.

    databricks sync --watch . /Workspace/Users/my-email@org.com/my-app
    

    Il --watch flag mantiene il processo di sincronizzazione in esecuzione e carica automaticamente le modifiche quando si modificano i file in locale. Per escludere file o directory specifici dalla sincronizzazione, aggiungerli a un .gitignore file nella directory dell'app locale. I file comuni da escludere sono node_modules/, .env, __pycache__/, .DS_Storee qualsiasi file di dati di grandi dimensioni o artefatti di compilazione.

  3. Verificare il caricamento visualizzando i file nell'area di lavoro. Fare clic su Area di lavoro Iconaarea di lavoro nella barra laterale e passare alla directory creata per l'app.

  4. Distribuire l'app eseguendo il comando seguente. Sostituire il nome dell'app e il percorso del codice sorgente con i valori.

    databricks apps deploy my-app-name \
       --source-code-path /Workspace/Users/my-email@org.com/my-app
    

    L'interfaccia della riga di comando visualizza lo stato di avanzamento della distribuzione e conferma quando l'app è in esecuzione.

Eseguire la distribuzione da un repository Git

Importante

Questa funzionalità è in versione beta. Se un amministratore disabilita la funzionalità, le app esistenti distribuite da Git continuano a essere eseguite, ma non è possibile ridistribuirle o riavviarle fino a quando non si riabilita l'anteprima o si rimuove il repository dall'app.

Per distribuire un'app da un repository Git, aggiungere il repository a livello di app e quindi specificare il riferimento Git quando viene distribuito. Il repository Git deve contenere i file dell'app, incluse app.yaml le dipendenze e il punto di ingresso. Tutti i principali provider Git sono supportati, tra cui GitHub, GitLab e Bitbucket.

Per configurare e distribuire un'app da Git:

  1. Caricare i file dell'app in un repository Git.
  2. Nell'area di lavoro di Azure Databricks fare clic sull'icona di calcoloCalcolo nella barra laterale.
  3. Passare alla scheda App e selezionare un'app esistente da modificare o fare clic su Crea app.
  4. Nel passaggio Configura repository Git immettere l'URL del repository Git (ad esempio, https://github.com/org/repo) e selezionare un provider Git.
  5. Fare clic su Crea app o Salva per tornare alla pagina dei dettagli dell'app.
  6. Per i repository privati, l'entità del servizio dell'app deve avere una credenziale Git configurata. Nella pagina dei dettagli dell'app fare clic su Configura credenziali Git. In alternativa, modificare l'app e aggiungere le credenziali nel passaggio Configura repository Git . Per aggiungere credenziali Git, è necessario disporre CAN MANAGE delle autorizzazioni per l'app. Per istruzioni per ogni provider, vedere Connettere il provider Git a Databricks.

Importante

Per la sicurezza, Azure Databricks elimina tutte le credenziali Git associate all'entità servizio dell'app quando si modifica l'origine della distribuzione (da Git a area di lavoro o area di lavoro in Git) o quando si modifica il repository Git. La modifica solo del riferimento Git non elimina le credenziali. Dopo aver modificato l'origine o il repository di distribuzione, è necessario riconfigurare le credenziali Git da distribuire di nuovo da Git.

Annotazioni

Gli autori di app ricevono automaticamente le autorizzazioni per l'entità servizio solo quando la funzionalità Beta di distribuzione Git è abilitata. Se è stata creata un'app mentre la funzionalità è stata disabilitata, potrebbe non essere disponibile l'autorizzazione per aggiungere credenziali Git.

Le entità servizio supportano una credenziale Git per provider. L'aggiornamento di una credenziale, ad esempio tramite la console dell'account, sostituisce la credenziale esistente per quel provider e influisce su tutte le app che usano quell'entità servizio con quel provider.

Distribuire quindi l'app:

  1. Nella pagina dei dettagli dell'app fare clic su Distribuisci.
  2. Seleziona da Git.
  3. Per Riferimento Git, immettere il nome del ramo, il tag o il commit SHA (ad esempio, main, v1.0.0o un hash di commit).
  4. Per Tipo riferimento specificare il tipo di riferimento, ad esempio un ramo, un tag o un commit.
  5. Fare clic su Distribuisci.

Per i riferimenti a rami o tag, Azure Databricks distribuisce il commit più recente da tale ramo o tag. Per i riferimenti SHA di commit, Azure Databricks distribuisce sempre tale commit specifico. Se la credenziale Git dell'entità servizio non è valida o è scaduta, la distribuzione non riesce.

Comportamento post-distribuzione

Al termine della distribuzione, Azure Databricks avvia l'app in base all'oggetto definito nel file app.yaml o, per impostazione predefinita, esegue python app.py. La pagina dei dettagli dell'app mostra lo stato corrente e fornisce l'accesso ai log, alla cronologia della distribuzione e alle informazioni sull'ambiente.

Visualizzare la pagina dei dettagli dell'app dopo la distribuzione dell'app

Per visualizzare l'output dell'app distribuita, fare clic sul collegamento dell'app.

Passare alla scheda Log per il debug e il monitoraggio del runtime. Vedere Registrazione e monitoraggio per le app di Databricks.

Aggiornare o ridistribuire l'app

Ridistribuire l'app dopo aver apportato modifiche al codice sorgente o alla configurazione. La ridistribuzione applica gli aggiornamenti più recenti senza ricreare l'app. È possibile ridistribuire da l'area di lavoro o dal repository Git in qualsiasi momento.

Ridistribuire da una cartella dell'area di lavoro

Per ridistribuire da una cartella dell'area di lavoro:

  1. Aggiornare i file dell'app nella cartella dell'area di lavoro.
  2. Selezionare l'app e fare clic su Distribuisci.
  3. Se il percorso del codice sorgente è stato modificato o si passa da un'origine Git, fare clic sulla freccia accanto a Distribuisci e selezionare Distribuisci usando un'origine diversa.

Ridistribuire da un repository Git

Per ridistribuire da un repository Git:

  1. Inviare le modifiche al repository Git.
  2. Nell'area di lavoro di Azure Databricks selezionare l'app e fare clic su Distribuisci.
  3. Se il riferimento Git è stato modificato o si passa da un'origine dell'area di lavoro, fare clic sulla freccia accanto a Distribuisci e selezionare Distribuisci usando un'origine diversa.

Per modificare il repository Git o le credenziali, modificare la configurazione dell'app. La rimozione del repository Git dall'app impone la distribuzione dall'area di lavoro.

Importante

La modifica del repository Git o il passaggio tra le origini di distribuzione (Git e area di lavoro) elimina tutte le credenziali Git per il service principal dell'app. È necessario riconfigurare le credenziali prima di eseguire di nuovo la distribuzione da Git.

Risolvere i problemi di distribuzione

Se l'app non riesce a distribuire o non viene eseguita come previsto, provare la procedura di risoluzione dei problemi seguente:

  • Controllare i log per i messaggi di errore o l'output di runtime.
  • Convalidare app.yaml la sintassi e le impostazioni.
  • Verificare che i segreti e le variabili di ambiente nella env sezione vengano risolti correttamente.
  • Verificare che tutte le dipendenze necessarie siano incluse o installate.

Per le distribuzioni di repository Git:

  • Per i repository privati, verificare che il principale del servizio dell'app disponga di credenziali Git configurate.
  • Verificare che l'URL del repository Git sia corretto.
  • Verificare che il riferimento Git (ramo, tag o commit) esista nel repository.

Passaggi successivi