Condividi tramite


Controllo del codice sorgente dei notebook e distribuzione

Questo articolo illustra come usare le pipeline di integrazione e distribuzione Git con notebook in Microsoft Fabric. Si apprenderà come connettere un repository, gestire il codice sorgente del notebook e distribuire notebook in ambienti diversi.

Prima di iniziare

  • Connettere l'area di lavoro a Git prima di completare i passaggi di controllo del codice sorgente del notebook. Per istruzioni sull'installazione, vedere Introduzione all'integrazione con Git.
  • Creare regole di distribuzione del notebook nella fase di destinazione (ad esempio, Test o Produzione), non in Sviluppo.
  • Per creare regole di distribuzione, è necessario essere il proprietario dell'elemento.

Integrazione di Git dei notebook

I notebook di Fabric supportano l'integrazione di Git con Azure DevOps per il controllo del codice sorgente. È possibile gestire le modifiche del notebook tramite versioni, collaborare usando branche e gestire il ciclo di vita dei notebook direttamente in Fabric.

Quando si esegue il commit di un notebook insieme alle relative dipendenze associate (ad esempio, ambienti), la sincronizzazione con un'altra area di lavoro mantiene queste associazioni. Fabric associa automaticamente il notebook alle risorse corrispondenti nella nuova area di lavoro.

Per supportare questo comportamento, Fabric archivia gli identificatori logici per le risorse associate nei metadati del notebook. Di conseguenza, i diff Git possono mostrare le modifiche dei metadati dagli ID fisici agli ID logici.

Nota

Gli aggiornamenti dei metadati correlati agli ID logici e all'associazione automatica possono essere visualizzati nelle visualizzazioni diff Git anche quando il codice del notebook non cambia.

Configurare una connessione

Dalle impostazioni dell'area di lavoro configurare una connessione al repository per eseguire il commit e la sincronizzazione delle modifiche. Per istruzioni sull'installazione, vedere Introduzione all'integrazione con Git. Dopo la connessione, gli elementi, inclusi i notebook, vengono visualizzati nel pannello controllo del codice sorgente.

Screenshot del pannello di controllo del codice sorgente dell'area di lavoro.

Dopo aver eseguito il commit delle istanze del notebook nel repository Git, è possibile visualizzare la struttura di cartelle del notebook nel repository.

È ora possibile eseguire operazioni Git, ad esempio Crea richiesta pull.

Rappresentazione del notebook in Git

Il testo seguente mostra la struttura di file per un elemento del notebook nel repository Git:

.
├── Notebook_1.Notebook/
│   ├── Resources/ (Optional)
│   │   └── builtin/
│   │       ├── large_dataset.parquet
│   │       └── model_output.parquet
│   ├── .platform
│   ├── fs-settings.json (Optional)
│   ├── notebook-content.py
│   └── notebook-settings.json (Optional)
└── Readme.md
.
├── Notebook_2.Notebook/
│   ├── Resources/ (Optional)
│   │   └── builtin/
│   │       ├── large_dataset.parquet
│   │       └── model_output.parquet
│   ├── .platform
│   ├── fs-settings.json (Optional)
│   ├── notebook-content.sql
│   └── notebook-settings.json (Optional)
└── Readme.md

Quando si esegue il commit di un elemento del notebook, Fabric lo archivia come file di origine anziché come file standard .ipynb . Ad esempio, un notebook PySpark viene archiviato come notebook-content.py. Questo formato è più semplice da esaminare nei diff di Git.

Il file di origine mantiene i metadati del notebook (inclusi il lakehouse predefinito e l'ambiente collegato), le celle markdown e le celle di codice come sezioni separate. Fabric utilizza questa struttura per ricostruire il notebook quando si sincronizza con un'area di lavoro.

L'output della cella del notebook non è incluso durante la sincronizzazione con Git.

Lo screenshot seguente mostra il formato di origine nel repository Git:

Screenshot del formato del contenuto del repository Git nel notebook.

Nota

Mantenere i notebook e i relativi ambienti dipendenti nella stessa area di lavoro e aggiornare sia i notebook che gli elementi dell'ambiente in Git. Fabric esegue il mapping di queste relazioni quando si esegue la sincronizzazione con le nuove aree di lavoro.

L'ID del lakehouse predefinito rimane nei metadati del notebook quando si esegue la sincronizzazione dal repository a uno spazio di lavoro Fabric. Se necessario, associare manualmente il notebook al nuovo elemento lakehouse. Per altre informazioni, vedere Integrazione di Git di Lakehouse.

Impostazioni Git del notebook

Il pannello delle impostazioni Git consente di controllare il modo in cui i notebook interagiscono con il controllo del codice sorgente, incluse le opzioni per l'associazione Git e la gestione dei file della cartella Resources inclusi nei commit.

Nota

Non modificare notebook-settings.json nel repository Git per controllare l'associazione automatica di Git o le risorse Git. Gestire queste impostazioni tramite la pagina delle impostazioni del notebook.

Associazione automatica del Lakehouse in Git

La funzione di associazione automatica di Lakehouse permette a Fabric di determinare il lakehouse predefinito corretto per ogni workspace connesso a Git. In questo modo si riduce la riassociazione manuale quando si spostano i notebook tra aree di lavoro di sviluppo, test e produzione.

Abilitare questa funzionalità dalle impostazioni del notebook. Dopo averla abilitata, Fabric crea notebook-settings.json nel repository e gestisce automaticamente questo file. Non modificare il file manualmente.

Screenshot del git-binding del notebook.

Nota

L'integrazione Git del notebook supporta la persistenza della relazione di associazione tra notebook e i lakehouse collegati durante la sincronizzazione tra aree di lavoro. Quando si sincronizza un notebook in un'altra area di lavoro, è possibile scegliere se è associato alla lakehouse nell'area di lavoro di origine o alla lakehouse nella nuova area di lavoro. Per i notebook già versionati in Git, l'ID fisico del lakehouse collegato nei metadati del notebook viene sostituito con un ID logico. Questa modifica può essere visualizzata nella visualizzazione diff di Git.

Supporto delle cartelle delle risorse dei notebook in Git

Nota

La cartella Risorse ambiente e l'integrazione con le pipeline di distribuzione e le API pubbliche non sono attualmente supportate.

È possibile eseguire il commit della cartella Risorse predefinite in Git in modo che gli script e i file di configurazione vengano sottoposti a controllo delle versioni con il notebook.

Questa funzionalità è facoltativa e disattivata per impostazione predefinita. Abilitarlo dalle impostazioni del notebook nella sezione Impostazioni Git. Dopo averla abilitata, i file nella cartella Risorse vengono inclusi nei commit. Poiché i commit hanno un limite di 50 MB , usare .gitignore regole di file o Git per escludere file o cartelle di grandi dimensioni o temporanei.

Screenshot delle risorse del notebook nella configurazione di Git.

Nota

Solo il .gitignore nella cartella radice della risorsa predefinita ha effetto.

Dopo aver configurato le regole Git e aver eseguito il commit delle modifiche, Fabric salva le regole nel fs-settings.json repository. Fabric genera e gestisce questo file per mantenere coerente la configurazione del repository. Non è anche consigliabile modificare questo file direttamente nel repository Git.

Screenshot della struttura delle risorse del notebook nella configurazione Git.

Notebook nelle pipeline di implementazione

Usare le pipeline di implementazione per promuovere le modifiche dei notebook attraverso fasi come Sviluppo, Test e Produzione. Convalidare gli aggiornamenti nelle fasi precedenti prima di promuoverli in produzione.

La distribuzione dei notebook supporta l'associazione automatica per il lakehouse predefinito e l'ambiente collegato quando gli elementi dipendenti si trovano nella stessa area di lavoro. Durante la distribuzione, Fabric può riassociare queste dipendenze agli elementi corrispondenti nell'area di lavoro di destinazione. Le modifiche ai metadati possono essere visualizzate nella vista diff.

Se hai bisogno di un lakehouse di default specifico per il target di destinazione, configura una regola di distribuzione per sovrascrivere l'associazione automatica.

La nuova interfaccia utente della pipeline di distribuzione è attualmente usata in questo articolo. È possibile passare all'interfaccia utente precedente disattivando la nuova pipeline di distribuzione.

Nota

Problema noto: lo stato delle celle congelate nei notebook non viene mantenuto durante la distribuzione.

Usare la procedura seguente per distribuire i notebook tramite una pipeline di distribuzione.

  1. Creare una pipeline di distribuzione o aprirne una esistente. Per ulteriori informazioni, consultare Introduzione alle pipeline di distribuzione.

  2. Assegnare le aree di lavoro a fasi diverse in base agli obiettivi di distribuzione.

  3. Selezionare, visualizzare e confrontare gli elementi, inclusi i notebook, tra le diverse fasi. Il badge evidenziato mostra il numero di elementi modificati tra la fase precedente e la fase corrente.

    Screenshot del notebook nella pipeline di distribuzione.

  4. Selezionare Distribuisci per alzare di livello i notebook nelle fasi Sviluppo, Test e Produzione .

    Screenshot della selezione degli elementi e della distribuzione.

  5. Nella finestra Distribuisci in questa fase, ricontrollare gli elementi nuovi e quelli modificati. Per continuare la distribuzione anche se uno o più elementi hanno esito negativo, selezionare Continua la distribuzione se uno o più elementi hanno esito negativo.

    Dopo aver esaminato e confermato la selezione, selezionare Distribuisci.

    Screenshot della pop-up di distribuzione del contenuto.png.

  6. (Facoltativo. Per creare regole di distribuzione, selezionare Regole di distribuzione nell'elemento della fase di destinazione nella pipeline, ad esempio Test o Produzione.

    Per informazioni generali sul comportamento e sulle limitazioni delle regole, vedere Creare regole di distribuzione.

    Screenshot dell’inserimento delle regole di distribuzione.

  7. Configurare una regola lakehouse predefinita per ogni implementazione di notebook.

    Questa regola controlla il lakehouse a cui si connette il notebook nella fase di destinazione dopo la distribuzione.

    Nel riquadro Imposta regole di distribuzione, selezionare il riquadro lakehouse predefinito.

    Utilizzare i menu a discesa Da e A per mappare la lakehouse predefinita della fase di origine sulla lakehouse predefinita della fase di destinazione.

    • Uguale al lakehouse di origine: mantenere la stessa impostazione predefinita del lakehouse come stadio di origine.
    • N/D (nessun lakehouse predefinito): rimuovere l'impostazione predefinita del lakehouse nella fase di destinazione.
    • Altro: sostituire la lakehouse predefinita della fase di origine con un'altra lakehouse nella fase di destinazione.

    Se si seleziona Altro nell'elenco a discesa A, specificare i dettagli del lakehouse di destinazione:

    • Lakehouse ID
    • Nome del sistema lakehouse
    • ID area di lavoro Lakehouse

    Screenshot dell'impostazione del lakehouse predefinito.

    Nota

    L'ID Lakehouse è obbligatorio quando si configura questa regola. È possibile ottenere l'ID lakehouse dall'URL dell'elemento. Le regole di distribuzione hanno la priorità sull'associazione automatica. Se è configurata una regola di distribuzione, esegue l'override del lakehouse associato automaticamente.

  8. Monitorare lo stato della distribuzione dalla Cronologia distribuzione.