Controllo del codice sorgente in Synapse Studio

Per impostazione predefinita, gli autori di Synapse Studio direttamente nel servizio Synapse. Se è necessario collaborare usando Git per il controllo del codice sorgente, Synapse Studio consente di associare l'area di lavoro a un repository Git, Azure DevOps o GitHub.

Questo articolo illustra come configurare e lavorare in un'area di lavoro di Synapse con il repository Git abilitato. Vengono inoltre evidenziate alcune procedure consigliate e una guida alla risoluzione dei problemi.

Nota

Per usare GitHub in Azure Gov e Microsoft Azure gestito da 21Vianet, è possibile usare un'applicazione OAuth GitHub personalizzata in Synapse Studio per l'integrazione git. L'esperienza di configurazione è identica a ADF. È possibile fare riferimento al blog dell'annuncio.

Prerequisiti

Per configurare, modificare le impostazioni e disconnettere un repository Git con Synapse, gli utenti devono avere il ruolo Collaboratore di Azure (Controllo degli accessi in base al ruolo di Azure) o versione successiva nell'area di lavoro di Synapse.

Configurare il repository Git in Synapse Studio

Dopo aver avviato Synapse Studio, è possibile configurare un repository Git nell'area di lavoro. Un'area di lavoro di Synapse Studio può essere associata a un solo repository Git alla volta.

Metodo di configurazione 1: barra globale

Nella barra globale di Synapse Studio selezionare il menu a discesa Synapse Live e quindi selezionare Configura repository di codice.

Configure the code repository settings from authoring

Metodo di configurazione 2: Gestire l'hub

Passare all'hub Di gestione di Synapse Studio. Selezionare Configurazione Git nella sezione Controllo codice sorgente. Se non è stato connesso alcun repository, fare clic su Configura.

Configure the code repository settings from management hub

È possibile connettere il repository Git Git di Azure DevOps o GitHub nell'area di lavoro.

Connessione con Azure DevOps Git

È possibile associare un'area di lavoro synapse a un repository Azure DevOps per il controllo del codice sorgente, la collaborazione, il controllo delle versioni e così via. Se non si ha un repository Azure DevOps, seguire queste istruzioni per creare le risorse del repository.

Impostazioni del repository Git di Azure DevOps

Quando ci si connette al repository Git, selezionare prima di tutto il tipo di repository come Git di Azure DevOps, quindi selezionare un tenant di Microsoft Entra nell'elenco a discesa e fare clic su Continua.

Configure the code repository settings

Il riquadro di configurazione mostra le impostazioni Git di Azure DevOps seguenti:

Impostazione Descrizione Valore
Tipo di repository Tipo del repository di codice Azure Repos.
Azure DevOps Git o GitHub
Accesso tra tenant Casella di controllo per accedere con un account multi-tenant. non selezionato (impostazione predefinita)
Microsoft Entra ID Nome del tenant di Microsoft Entra. <your tenant name>
Account Azure DevOps Il nome dell'organizzazione di Azure Repos. È possibile individuare il nome dell'organizzazione Azure Repos all'indirizzo https://{organization name}.visualstudio.com. È possibile accedere all'organizzazione Azure Repos e quindi accedere al proprio profilo di Visual Studio e visualizzare i repository e i progetti. <your organization name>
Nome progetto Il nome del progetto Azure Repos. È possibile trovare il nome del progetto Azure Repos all'indirizzo https://{organization name}.visualstudio.com/{project name}. <your Azure Repos project name>
Nome repository Il nome del repository di codice Azure Repos. I progetti Azure Repos contengono repository GIT per gestire il codice sorgente man mano che aumentano le dimensioni del progetto. È possibile creare un nuovo repository o usare un repository già presente nel progetto. <your Azure Repos code repository name>
Ramo di collaborazione Ramo di collaborazione di Azure Repos usato per la pubblicazione. L'impostazione predefinita è master. Modificare questa impostazione se si vuole pubblicare risorse da un altro ramo. È possibile selezionare rami esistenti o crearne uno nuovo <your collaboration branch name>
Cartella radice Cartella radice nel ramo di collaborazione di Azure Repos. <your root folder name>
Importare risorse esistenti nel repository Specifica se importare le risorse esistenti da Synapse Studio in un repository Git di Azure Repos. Selezionare la casella per importare le risorse dell'area di lavoro (ad eccezione dei pool) nel repository Git associato in formato JSON. Questa azione esporta ogni risorsa singolarmente. Quando questa casella non è selezionata, le risorse esistenti non vengono importate. Selezionato (impostazione predefinita)
Importare una risorsa in questo ramo Selezionare il ramo in cui vengono importate le risorse (script sql, notebook, definizione del processo Spark, set di dati, flusso di dati e così via).

È anche possibile usare il collegamento al repository per puntare rapidamente al repository Git con cui connettersi.

Nota

Azure Synapse non supporta la connessione al repository Prem di Azure DevOps.

Usare un tenant Microsoft Entra diverso

Il repository Git Azure Repos può trovarsi in un tenant Microsoft Entra diverso. Per specificare un tenant Microsoft Entra diverso, è necessario disporre delle autorizzazioni di amministratore per la sottoscrizione di Azure in uso. Per altre informazioni, vedere Modificare l'amministratore della sottoscrizione

Importante

Per connettersi a un altro ID Microsoft Entra, l'utente connesso deve far parte di tale active directory.

Usare l'account Microsoft personale

Per usare un account Microsoft personale per l'integrazione con Git, è possibile collegare il repository di Azure personale con l'istanza di Active Directory dell'organizzazione.

  1. Aggiungere come guest l'account Microsoft personale all'istanza di Active Directory dell'organizzazione. Per altre info, vedi Aggiungere utenti di Collaborazione B2B di Microsoft Entra nel portale di Azure.

  2. Accedere al portale di Azure con l'account Microsoft personale. Passare quindi all'istanza di Active Directory dell'organizzazione.

  3. Passare alla sezione Azure DevOps, in cui è possibile visualizzare il repository personale. Selezionare il repository e connettersi ad Active Directory.

Dopo questi passaggi di configurazione, il repository personale è disponibile quando si configura l'integrazione git in Synapse Studio.

Per altre informazioni sulla connessione di Azure Repos ad Active Directory dell'organizzazione, vedere Connessione'organizzazione all'ID Microsoft Entra.

Usare un account Azure DevOps tra tenant

Quando Azure DevOps non si trova nello stesso tenant dell'area di lavoro di Synapse, è possibile configurare l'area di lavoro con un account Azure DevOps tra tenant.

  1. Selezionare l'opzione Di accesso tra tenant e fare clic su Continua

    Select the cross tenant sign in

  2. Nella finestra di dialogo, selezionare OK.

    Confirm the cross tenant sign in

  3. Fare clic su Usa un altro account e accedere con l'account Azure DevOps.

    Use another account

  4. Dopo l'accesso, scegliere la directory e il repository e configurarlo di conseguenza.

    Choose the directory

    Nota

    Per accedere all'area di lavoro, è necessario usare il primo accesso per accedere all'account utente dell'area di lavoro di Synapse. L'account Azure DevOps tra tenant viene usato solo per accedere e ottenere l'accesso al repository Di Azure DevOps associato a questa area di lavoro di Synapse.

Connessione con GitHub

È possibile associare un'area di lavoro a un repository GitHub per il controllo del codice sorgente, la collaborazione e il controllo delle versioni. Se non si ha un account o un repository GitHub, seguire queste istruzioni per creare le risorse.

L'integrazione di GitHub con Synapse Studio supporta sia GitHub pubblico (ovvero https://github.com) che GitHub Enterprise. È possibile usare repository GitHub pubblici e privati purché l'autorizzazione di lettura e scrittura per il repository in GitHub sia disponibile.

Impostazioni di GitHub

Quando ci si connette al repository Git, selezionare prima di tutto il tipo di repository come GitHub e quindi specificare l'account GitHub Enterprise Server, l'URL di GitHub Enterprise Server se si usa GitHub Enterprise Server o il nome dell'organizzazione GitHub Enterprise se si usa GitHub Enterprise Cloud. Seleziona Continua.

Nota

Se si usa GitHub Enterprise Cloud, lasciare deselezionata la casella di controllo Usa GitHub Enterprise Server .

GitHub repository settings

Il riquadro di configurazione visualizza le impostazioni seguenti del repository GitHub:

Impostazione Descrizione valore
Tipo di repository Tipo del repository di codice Azure Repos. GitHub
Use GitHub Enterprise (Usa GitHub Enterprise) Casella di controllo per selezionare GitHub Enterprise non selezionato (impostazione predefinita)
GitHub Enterprise URL (URL GitHub Enterprise) URL radice di GitHub Enterprise (deve essere HTTPS per il server GitHub Enterprise locale). Ad esempio: https://github.mydomain.com. Obbligatorio solo se si seleziona Usa GitHub Enterprise <your GitHub enterprise url>
Account GitHub Nome dell'account GitHub. Questo nome è disponibile nella pagina https://github.com/{account name}/{repository name}. Se si passa a questa pagina, viene chiesto di immettere le credenziali OAuth di GitHub per l'account GitHub. <your GitHub account name>
Nome repository Nome del repository del codice GitHub. Gli account GitHub contengono repository Git per la gestione del codice sorgente. È possibile creare un nuovo repository o usarne uno esistente già presente nell'account. <your repository name>
Ramo di collaborazione Ramo di collaborazione di GitHub usato per la pubblicazione. Per impostazione predefinita, si tratta del ramo master. Modificare questa impostazione se si vuole pubblicare risorse da un altro ramo. <your collaboration branch>
Cartella radice Cartella radice nel ramo di collaborazione di GitHub. <your root folder name>
Importare risorse esistenti nel repository Specifica se importare le risorse esistenti da Synapse Studio in un repository Git. Selezionare la casella per importare le risorse dell'area di lavoro (ad eccezione dei pool) nel repository Git associato in formato JSON. Questa azione esporta ogni risorsa singolarmente. Quando questa casella non è selezionata, le risorse esistenti non vengono importate. Selezionata (impostazione predefinita)
Importare una risorsa in questo ramo Selezionare quale ramo vengono importate le risorse (script sql, notebook, definizione del processo Spark, set di dati, flusso di dati e così via).

Organizzazioni GitHub

Connessione a un'organizzazione GitHub richiede all'organizzazione di concedere l'autorizzazione a Synapse Studio. Un utente con autorizzazioni ADMIN per l'organizzazione deve eseguire i passaggi seguenti.

Prima connessione a GitHub

Se ci si connette a GitHub da Synapse Studio per la prima volta, seguire questa procedura per connettersi a un'organizzazione GitHub.

  1. Nel riquadro configurazione Git immettere il nome dell'organizzazione nel campo Account GitHub. Viene visualizzata una richiesta di accesso a GitHub.

  2. Accedere usando le credenziali utente.

  3. Viene chiesto di autorizzare Synapse come applicazione denominata Azure Synapse. In questa schermata viene visualizzata un'opzione per concedere l'autorizzazione per Synapse per accedere all'organizzazione. Se non viene visualizzata l'opzione per concedere l'autorizzazione, chiedere a un amministratore di concedere manualmente l'autorizzazione tramite GitHub.

Dopo aver eseguito questi passaggi, l'area di lavoro è in grado di connettersi ai repository pubblici e privati all'interno dell'organizzazione. Se non è possibile connettersi, provare a cancellare la cache del browser e riprovare.

Già connesso a GitHub con un account personale

Se si è già connessi a GitHub e si è concessa solo l'autorizzazione per accedere a un account personale, seguire questa procedura per concedere le autorizzazioni a un'organizzazione.

  1. Passare a GitHub e aprire Impostazioni.

    Open GitHub settings

  2. Seleziona Candidature. Nella scheda App OAuth autorizzate verrà visualizzato Azure Synapse.

    Authorize OAuth Apps

  3. Selezionare Azure Synapse e concedere l'accesso all'organizzazione.

    Grant organization permission

Dopo aver completato questi passaggi, l'area di lavoro è in grado di connettersi ai repository pubblici e privati all'interno dell'organizzazione.

Controllo della versione

I sistemi di controllo della versione (noti anche come controllo del codice sorgente) consentono agli sviluppatori di collaborare al codice e tenere traccia delle modifiche. Il controllo del codice sorgente è uno strumento essenziale per i progetti multi-sviluppatore.

Creazione di rami di funzionalità

Ogni repository Git associato a synapse Studio ha un ramo di collaborazione. (main o master è il ramo di collaborazione predefinito). Gli utenti possono anche creare i rami delle funzionalità facendo clic su + Nuovo ramo nell'elenco a discesa del ramo.

Create new branch

Quando viene visualizzato il nuovo riquadro del ramo, immettere il nome del ramo di funzionalità e selezionare un ramo per basare il lavoro.

Create branch based on private branch

Quando si è pronti per unire le modifiche dal ramo di funzionalità al ramo di collaborazione, fare clic sull'elenco a discesa ramo e selezionare Crea richiesta pull. Questa azione consente di passare al provider Git in cui è possibile generare richieste pull, eseguire revisioni del codice e unire le modifiche al ramo di collaborazione. È consentito pubblicare nel servizio Synapse solo dal ramo di collaborazione.

Create a new pull request

Configurare le impostazioni di pubblicazione

Per impostazione predefinita, Synapse Studio genera i modelli di area di lavoro e li salva in un ramo denominato workspace_publish. Per configurare un ramo di pubblicazione personalizzato, aggiungere un file publish_config.json alla cartella radice nel ramo di collaborazione. Durante la pubblicazione, Synapse Studio legge questo file, cerca il campo publishBranche salva i file modello dell'area di lavoro nel percorso specificato. Se il ramo non esiste, Synapse Studio lo creerà automaticamente. Di seguito è riportato un esempio dell'aspetto del file:

{
    "publishBranch": "workspace_publish"
}

Synapse Studio può avere un solo ramo di pubblicazione alla volta. Quando si specifica un nuovo ramo di pubblicazione, il ramo di pubblicazione originale non verrà eliminato. Se si vuole rimuovere il ramo di pubblicazione precedente, eliminarlo manualmente.

Pubblicare le modifiche al codice

Dopo aver unito le modifiche al ramo di collaborazione, fare clic su Pubblica per pubblicare manualmente le modifiche al codice nel ramo di collaborazione nel servizio Synapse.

Publish changes

Viene aperto un riquadro laterale in cui si verifica che il ramo di pubblicazione e le modifiche in sospeso siano corrette. Dopo aver verificato le modifiche, fare clic su OK per confermare la pubblicazione.

Confirm the correct publish branch

Importante

Il ramo di collaborazione non è rappresentativo di ciò che viene distribuito nel servizio. Le modifiche nel ramo di collaborazione devono essere pubblicate manualmente.

Passare a un repository GIT diverso

Per passare a un repository Git diverso, andare alla pagina Configurazione Git nell'hub Gestione in Controllo codice sorgente. Selezionare Disconnetti.

Git icon

Immettere il nome dell'area di lavoro e fare clic su Disconnetti per rimuovere il repository Git associato all'area di lavoro.

Dopo aver rimosso l'associazione con il repository corrente, è possibile configurare le impostazioni Git per usare un repository diverso e quindi importare le risorse esistenti nel nuovo repository.

Importante

La rimozione della configurazione Git da un'area di lavoro non elimina alcun elemento dal repository. L'area di lavoro di Synapse contiene tutte le risorse pubblicate. È possibile continuare a modificare l'area di lavoro direttamente sul servizio.

Procedure consigliate per l'integrazione GIT

  • Autorizzazione. Dopo aver connesso un repository Git all'area di lavoro, chiunque possa accedere al repository Git con qualsiasi ruolo nell'area di lavoro è in grado di aggiornare gli artefatti, ad esempio script sql, notebook, definizione del processo Spark, set di dati, flusso di dati e pipeline in modalità Git. In genere non si vuole che ogni membro del team disponga delle autorizzazioni per aggiornare l'area di lavoro. Concedere solo l'autorizzazione del repository Git agli autori degli artefatti dell'area di lavoro di Synapse.
  • Collaborazione. È consigliabile non consentire le archiviazioni dirette al ramo di collaborazione. Questa restrizione consente di evitare bug man mano che ogni archiviazione esegue un processo di revisione delle richieste pull descritto in Creazione di rami di funzionalità.
  • Modalità dinamica synapse. Dopo la pubblicazione in modalità Git, tutte le modifiche vengono riflesse in modalità dinamica Synapse. In modalità dinamica Synapse la pubblicazione è disabilitata. È anche possibile visualizzare gli artefatti in modalità dinamica se è stata concessa l'autorizzazione appropriata.
  • Modificare gli artefatti in Studio. Synapse Studio è l'unica posizione in cui è possibile abilitare il controllo del codice sorgente dell'area di lavoro e sincronizzare automaticamente le modifiche apportate a Git. Qualsiasi modifica tramite SDK, PowerShell, non viene sincronizzata con Git. È consigliabile modificare sempre l'artefatto in Studio quando Git è abilitato.

Risoluzione dei problemi di integrazione git

Accesso alla modalità Git

Se è stata concessa l'autorizzazione al repository GitHub collegato all'area di lavoro, ma non è possibile accedere alla modalità Git:

  1. Cancellare la cache e aggiornare la pagina.

  2. Accedere all'account GitHub.

Ramo di pubblicazione non aggiornato

Se il ramo di pubblicazione non è sincronizzato con il ramo di collaborazione e contiene risorse non aggiornate nonostante una pubblicazione recente, seguire questa procedura:

  1. Rimuovere il repository Git corrente

  2. Riconfigurare Git con le stesse impostazioni, ma assicurarsi che l'opzione Importa le risorse esistenti nel repository sia selezionata e scegliere lo stesso ramo.

  3. Creare una richiesta pull per unire le modifiche al ramo di collaborazione

Funzionalità non supportate

  • Synapse Studio non consente la selezione di commit o la pubblicazione selettiva delle risorse.
  • Synapse Studio non supporta il messaggio di commit auto-personalizzato.
  • Per impostazione predefinita, viene eseguito il commit diretto dell'azione di eliminazione in Studio in Git

Passaggi successivi