Gestire il codice con i repository Git di BigQuery Studio

Puoi gestire script SQL e notebook utilizzando i repository Git di BigQuery Studio. Questa funzionalità integra il controllo della versione direttamente nel browser dei file di BigQuery Studio, consentendoti di clonare repository, gestire branch ed eseguire operazioni Git senza uscire dalla Google Cloud console.

I repository Git di BigQuery Studio offrono un'esperienza più semplificata e basata su cartelle rispetto ai repository classici repositories. I repository Git di BigQuery Studio vengono visualizzati direttamente nel riquadro a sinistra sotto la cartella root dell'utente.

Utilizzando i repository Git di BigQuery Studio, puoi interagire con gli asset di codice come se fossero file e directory standard, mantenendo al contempo una connessione a un repository Git remoto.

Limitazioni

  • I repository Git di BigQuery Studio sono limitati al contesto della cartella root dell'utente e sono destinati all'uso privato. Non condividere questi repository con altri utenti. Sebbene questi repository vengano visualizzati nella cartella root dell'utente, che è una rappresentazione virtuale degli asset nel progetto, vengono creati tecnicamente a livello di progetto.
  • L'utilizzo di un connettore dell'account Developer Connect con un proxy Git non è supportato.
  • Le operazioni del file system all'interno della posizione di montaggio consumano la quota di Dataform.
  • La clonazione dei repository con un numero elevato di file, file di grandi dimensioni, molti branch o una cronologia dei commit complessa e approfondita richiede più tempo. L'operazione di clonazione potrebbe superare il timeout dell'operazione, impedendo la creazione del repository.
  • Le dimensioni dei file dei notebook archiviati in un montaggio del repository Git di BigQuery Studio non possono superare i 30 MB. Se i file sono più grandi di 30 MB, salvali nella memoria locale dell'ambiente di runtime di Colab al di fuori della posizione di montaggio.
  • Quando apporti modifiche a un repository Git al di fuori del montaggio, ad esempio modificando o rinominando i file nel riquadro a sinistra, potrebbero essere necessari fino a 60 secondi prima che le modifiche diventino visibili all'interno del montaggio nell'ambiente di runtime del notebook. Puoi regolare questa durata passando il parametro CACHE_TTL_SECONDS al costruttore:

      FuseWidget(CACHE_TTL_SECONDS=NUMBER)
    

    Sostituisci NUMBER con il numero di secondi per la cache deve rimanere valida. La riduzione di questo valore aumenta la frequenza di sincronizzazione e consuma più rapidamente la quota di Dataform.

Prima di iniziare

Abilita l'API Developer Connect nel tuo Google Cloud progetto.

Abilitare l'API

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per gestire il codice con i repository Git di BigQuery Studio, chiedi all'amministratore di concederti il ruolo IAM Utente OAuth di Developer Connect (roles/developerconnect.oauthUser) nel progetto. Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

Questo ruolo predefinito contiene le autorizzazioni necessarie per gestire il codice con i repository Git di BigQuery Studio. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:

Autorizzazioni obbligatorie

Per gestire il codice con i repository Git di BigQuery Studio sono necessarie le seguenti autorizzazioni:

  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • developerconnect.operations.list
  • developerconnect.operations.get
  • developerconnect.locations.list
  • developerconnect.locations.get
  • developerconnect.users.startOAuth
  • developerconnect.users.finishOAuth
  • developerconnect.users.fetchAccessToken
  • developerconnect.users.getSelf
  • developerconnect.users.deleteSelf
  • developerconnect.accountConnectors.get
  • developerconnect.accountConnectors.list
  • developerconnect.accountConnectors.gitProxyUse
  • developerconnect.accountConnectors.httpProxyUse
  • developerconnect.accountConnectors.gitProxyRead
  • developerconnect.accountConnectors.gitProxyWrite
  • developerconnect.accountConnectors.httpProxyRead
  • developerconnect.accountConnectors.httpProxyWrite
  • developerconnect.accountConnectors.fetchUserRepositories

Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.

Creare un repository Git di BigQuery Studio

Quando crei un repository Git, tieni presente questi requisiti:

Per creare un repository Git:

  1. Nella Google Cloud console, vai alla pagina BigQuery.

    Vai a BigQuery

  2. Nel riquadro a sinistra, fai clic su File per aprire il browser dei file.

    Se non vedi il riquadro a sinistra, fai clic su Espandi riquadro a sinistra per aprirlo.

  3. Accanto al nodo root dell'utente, fai clic su Visualizza azioni > Crea > Repository Git.

  4. Inserisci l'URL del repository Git remoto.

  5. BigQuery Studio rileva se è disponibile un connettore dell'account Developer Connect esistente. Hai le seguenti opzioni:

    • Se viene trovato un connettore dell'account, il nome visualizzato del repository Git viene precompilato. Puoi modificare questi valori.
    • Se non esiste alcun connettore dell'account, fai clic su Crea connettore dell'account per crearne uno nuovo.
    • Se preferisci non utilizzare un connettore dell'account Developer Connect, fai clic su Utilizza un tipo di connessione diverso per connetterti tramite HTTPS o SSH.
  6. Fai clic su Connetti.

Modificare un file

Per modificare un file, fai clic su un nodo file, ad esempio uno script SQL o un notebook, per aprirlo in una nuova scheda dell'editor.

Le modifiche apportate vengono salvate automaticamente.

Gestione file

Puoi eseguire le attività di gestione standard utilizzando il menu Azioni associato a ogni elemento. Per accedere a queste opzioni, fai clic su Apri azioni accanto a qualsiasi directory o file.

A livello di directory, puoi eseguire le seguenti attività:

  • Crea nel repository: crea nuovi asset di codice, tra cui query SQL, notebook, canvas di dati, preparazioni dei dati, file o sottodirectory.
  • Carica nel repository: importa i file esistenti dalla macchina locale nella directory selezionata.
  • Rinomina: modifica il nome della directory.
  • Sposta: sposta la directory. Puoi spostare una directory solo in un'altra posizione all'interno dello stesso repository Git. Per ulteriori informazioni, consulta Spostare o copiare file e directory.
  • Elimina: rimuovi definitivamente la directory e tutti i relativi contenuti dal tuo workspace locale.

A livello di file, puoi eseguire le seguenti attività:

  • Apri o Apri in: visualizza il file nell'editor predefinito o in un'applicazione specifica, ad esempio un ambiente notebook specifico.
  • Rinomina: modifica il nome del file.
  • Copia: crea un duplicato del file. Puoi copiare i file solo nelle directory all'interno dello stesso repository Git.
  • Sposta: sposta il file in un'altra directory all'interno dello stesso repository Git. Per ulteriori informazioni, consulta Spostare o copiare file e directory.
  • Scarica: salva una copia del file sulla macchina locale.
  • Elimina: rimuovi il file dal workspace.

Spostare o copiare file e directory

Puoi spostare o copiare file e directory, ma devono rimanere all'interno dello stesso repository Git.

  1. Nella Google Cloud console, vai alla pagina BigQuery.

    Vai a BigQuery

  2. Nel riquadro a sinistra, fai clic su File per aprire il browser dei file.

  3. Trova il file o la directory che vuoi spostare o copiare.

  4. Fai clic su Apri azioni > Sposta o Copia.

  5. Nella finestra di dialogo visualizzata, seleziona la directory di destinazione all'interno dello stesso repository Git.

  6. Fai clic su Sposta o Copia.

Eseguire il commit e il push delle modifiche

Per sincronizzare le modifiche locali con il repository remoto, procedi come segue:

  1. Nella Google Cloud console, vai alla pagina BigQuery.

    Vai a BigQuery

  2. Nel riquadro a sinistra, fai clic su Repository.

  3. (Facoltativo) Passa il mouse sopra un file modificato e fai clic su Visualizza diff per visualizzare un confronto riga per riga tra la versione locale e l'ultima versione di cui è stato eseguito il commit.

  4. Nel campo Messaggio di commit, inserisci una descrizione delle modifiche.

  5. Fai clic su Esegui commit. Le modifiche vengono salvate nella cronologia Git del branch locale.

  6. Fai clic su Esegui il push sul branch remoto. Le modifiche vengono sincronizzate con il repository remoto.

Eseguire il checkout di un nuovo branch

Puoi gestire i branch locali e crearne uno nuovo in base a un branch di monitoraggio locale o remoto esistente.

Nella scheda Repository, nella sezione Branch, puoi visualizzare i branch locali di cui hai eseguito il checkout. L'etichetta CURRENT indica il branch attivo, mentre l'etichetta DEFAULT indica il branch predefinito del repository.

Per eseguire il checkout di un nuovo branch:

  1. Nella Google Cloud console, vai alla pagina BigQuery.

    Vai a BigQuery

  2. Nel riquadro a sinistra, fai clic su Repository.

  3. Espandi la sezione Branch.

  4. Fai clic su Apri azioni accanto a un branch, quindi fai clic su Checkout nuovo branch.

  5. Nel menu Branch di origine , seleziona il branch su cui vuoi basare il nuovo branch, ad esempio origin/main.

  6. Nel campo Nome branch, inserisci un nome per il nuovo branch.

  7. Fai clic su Checkout. BigQuery Studio esegue prima il checkout del branch di origine. Se il nome del branch fornito indica un nuovo branch, questo viene creato in base all'origine. Il nuovo branch diventa il branch attivo e i contenuti del repository Git vengono aggiornati automaticamente per riflettere lo stato del branch di cui è stato eseguito il checkout.

Accedere ai file dei notebook in un montaggio del repository Git

Quando accedi a un notebook da un repository Git di BigQuery Studio, puoi montare il repository Git host nell'ambiente di runtime del notebook. Un montaggio è una connessione che fa apparire il repository Git remoto come se fosse un repository locale nell'ambiente di runtime del notebook. In questo modo, il notebook può accedere, leggere e scrivere direttamente in altri file e script di query all'interno dello stesso repository.

Montare il repository Git

Per montare il repository Git, esegui il seguente codice Python nel notebook:

from google_dataform_fuse_widget import FuseWidget
FuseWidget()

Quando il notebook è connesso al montaggio, si verificano le seguenti modifiche:

  • La directory di lavoro corrente della sessione del notebook viene aggiornata in modo da riflettere il relativo percorso all'interno del repository Git. In questo modo, l'accesso ai file basato sul percorso funziona automaticamente.
  • Il percorso del repository Git nell'ambiente di runtime del notebook viene aggiunto al percorso di sistema Python, il che ti consente di utilizzare le istruzioni di importazione Python standard per caricare script di query e file dal repository Git direttamente nel notebook.

Gestire il montaggio e la connessione

Utilizza i seguenti controlli per gestire il workspace:

  • Monta workspace: avvia il processo di montaggio per il repository Git. Il montaggio è una risorsa condivisa, quindi se più notebook nello stesso ambiente di runtime di Colab utilizzano lo stesso repository Git, utilizzano lo stesso montaggio.
  • Smonta workspace: interrompe il processo di montaggio per il repository Git. Lo smontaggio del workspace rende il montaggio non disponibile per tutti i notebook nell'ambiente di runtime di Colab che lo utilizzavano.
  • Connetti workspace: avvia la connessione a un montaggio attivo per la sessione del notebook corrente. La connessione aggiorna la directory di lavoro e il percorso di sistema del notebook in modo da includere il repository Git, consentendoti di accedere e importare i file.
  • Disconnetti workspace: termina la connessione di montaggio per la sessione del notebook corrente e la reimposta allo stato predefinito. La disconnessione non influisce sullo stato della connessione di montaggio per altre sessioni di notebook attive. Per terminare la connessione della sessione, ti consigliamo di utilizzare il pulsante Disconnetti workspace.
  • Ripara: ripristina un montaggio o una connessione a uno stato integro se diventa inutilizzabile.

Dopo aver inizializzato il montaggio, consulta la barra Stato per lo stato di integrità in tempo reale e il percorso attivo del montaggio. Gli stati di integrità possibili sono Connesso, Montato, Arrestato e Non integro.

Passaggi successivi