Creare e gestire repository

Questo documento mostra come utilizzare i repository in BigQuery, incluse le seguenti attività:

  • Creazione dei repository
  • Eliminazione dei repository
  • Condivisione dei repository
  • (Facoltativo) Collegamento di un repository BigQuery a un repository di terze parti

Prima di iniziare

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the BigQuery and Dataform APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  6. Verify that billing is enabled for your Google Cloud project.

  7. Enable the BigQuery and Dataform APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  8. Ruoli obbligatori

    Per ottenere le autorizzazioni necessarie per lavorare con repository e spazi di lavoro, chiedi all'amministratore di concederti i seguenti ruoli IAM su repository e spazi di lavoro:

    • Creare e gestire repository condivisi: Code Owner (roles/dataform.codeOwner)
    • Creare ed eliminare spazi di lavoro nei repository condivisi: Editor di codice (roles/dataform.codeEditor)
    • Creare, modificare e controllare le versioni dei file negli spazi di lavoro nei repository condivisi: Editor di codice (roles/dataform.codeEditor)
    • Visualizza gli spazi di lavoro e i relativi file nei repository condivisi: Code Viewer (roles/dataform.codeViewer)
    • Crea e gestisci repository privati, incluse tutte le azioni con spazi di lavoro e file nel repository privato: Code Creator (roles/dataform.codeCreator)

    Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

    Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.

    Le entità con il ruolo Editor di codice in un repository possono modificare tutti gli spazi di lavoro nel repository.

    I repository privati che crei sono comunque visibili ai principal a cui sono stati concessi i ruoli BigQuery Admin o BigQuery Studio Admin a livello di progetto. Queste entità possono condividere il tuo repository privato con altri utenti.

    Crea un repository

    Per creare un repository BigQuery:

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

      Vai a BigQuery

    2. Nel riquadro a sinistra, fai clic su Explorer:

      Pulsante evidenziato per il riquadro Spazio di esplorazione.

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

    3. Nel riquadro Explorer, espandi il progetto e fai clic su Repository per aprire la scheda Repository nel riquadro dei dettagli.

    4. Fai clic su Aggiungi repository.

    5. Nel riquadro Crea repository, nel campo ID repository, digita un ID univoco.

      Gli ID possono includere solo numeri, lettere, trattini e trattini bassi.

    6. Nell'elenco a discesa Regione, seleziona una regione BigQuery per archiviare il repository e i relativi contenuti. Seleziona la regione BigQuery più vicina alla tua posizione.

      Per un elenco delle regioni BigQuery disponibili, consulta Località di BigQuery Studio. La regione del repository non deve corrispondere alla località dei set di dati BigQuery.

    7. Fai clic su Crea.

    Connettersi a un repository di terze parti

    Questa sezione mostra come connettere un repository BigQuery a un repository remoto. Dopo aver collegato i repository, puoi eseguire azioni Git sui file negli spazi di lavoro contenuti nel repository. Ad esempio, estraendo gli aggiornamenti dal repository remoto e inviando le modifiche al repository remoto.

    Ti consigliamo di creare un repository BigQuery dedicato per ogni repository remoto a cui ti connetti. Assegna al repository BigQuery un nome simile a quello del repository remoto per rendere più chiara la mappatura.

    Puoi connettere un repository remoto tramite HTTPS o SSH. La connessione di un repository BigQuery a un repository remoto può non riuscire se il repository remoto non è aperto alla rete internet pubblica, ad esempio se si trova dietro un firewall. La tabella seguente elenca i provider Git supportati e i metodi di connessione disponibili per i relativi repository:

    Provider Git Metodo di connessione
    Azure DevOps Services SSH
    Bitbucket SSH
    GitHub SSH o HTTPS
    GitLab SSH o HTTPS

    Connetti un repository remoto tramite SSH

    Per connettere un repository remoto tramite SSH, devi generare una chiave SSH e un segreto di Secret Manager. La chiave SSH è costituita da una chiave SSH pubblica e una chiave SSH privata. Devi condividere la chiave SSH pubblica con il tuo provider Git e creare un secret Secret Manager con la chiave SSH privata. Poi, condividi il secret con il tuoaccount di serviziot BigQuery predefinito.

    BigQuery utilizza il secret con la chiave SSH privata per accedere al provider Git e eseguire il commit delle modifiche per conto degli utenti. BigQuery esegue questi commit utilizzando l'indirizzo email dell'utente Google Cloud , in modo che tu possa sapere chi ha eseguito ogni commit.

    Per connettere un repository remoto a un repository BigQuery tramite SSH:

    1. Nel tuo provider Git:

      Azure DevOps Services

      1. In Azure DevOps Services, crea una chiave SSH privata.
      2. Carica la chiave SSH pubblica nel repository Azure DevOps Services.

      Bitbucket

      1. In Bitbucket, crea una chiave SSH privata.
      2. Carica la chiave SSH pubblica nel tuo repository Bitbucket.

      GitHub

      1. In GitHub, controlla le chiavi SSH esistenti.
      2. Se non hai chiavi SSH esistenti o vuoi utilizzarne una nuova, crea una chiave SSH privata.
      3. Carica la chiave SSH pubblica di GitHub nel tuo repository GitHub.

      GitLab

      1. In GitLab, crea una chiave SSH privata.
      2. Carica la chiave SSH pubblica di GitLab nel tuo repository GitLab.
    2. In Secret Manager, crea un secret e incolla la chiave SSH privata come valore del secret. La chiave SSH privata deve essere archiviata in un file simile a ~/.ssh/id_ed25519. Assegna un nome al secret per poterlo trovare in futuro.

    3. Concedi l'accesso al secret all'agente di servizio Dataform predefinito.

      Il account di servizio Dataform predefinito ha il seguente formato:

      service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com
      
    4. Concedi il ruolo roles/secretmanager.secretAccessor all'account di servizio.

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

      Vai a BigQuery

    6. Nel riquadro a sinistra, fai clic su Explorer:

      Pulsante evidenziato per il riquadro Spazio di esplorazione.

    7. Nel riquadro Explorer, espandi il progetto e fai clic su Repository per aprire la scheda Repository nel riquadro dei dettagli.

    8. Seleziona il repository BigQuery a cui vuoi connetterti al repository remoto.

    9. Nell'editor, seleziona la scheda Configurazione.

    10. Fai clic su Connettiti con Git.

    11. Nel riquadro Connetti al repository remoto, seleziona il pulsante di opzione SSH.

    12. Nel campo URL repository Git remoto, digita l'URL del repository Git remoto, che termina con .git.

      L'URL del repository Git remoto deve essere in uno dei seguenti formati:

      • URL assoluto: ssh://git@{host_name}[:{port}]/{repository_path}, port è facoltativo.
      • URL simile a SCP: git@{host_name}:{repository_path}.
    13. Nel campo Nome del ramo remoto predefinito, digita il nome del ramo principale del repository Git remoto.

    14. Nel menu a discesa Secret, seleziona il secret che hai creato e che contiene la chiave privata SSH.

    15. Nel campo Valore chiave host pubblica SSH, digita la chiave host pubblica del tuo provider Git.

      Azure DevOps Services

      1. Per recuperare la chiave host pubblica di Azure DevOps Services, esegui questo comando nel terminale:

        ssh-keyscan -t rsa ssh.dev.azure.com
        
      2. Copia una delle chiavi generate, omettendo ssh.dev.azure.com dall'inizio della riga. Il valore che copi deve avere il seguente formato:

        ALGORITHM BASE64_KEY_VALUE
        

        Ad esempio:

        ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC7Hr1oTWqNqOlzGJOfGJ4NakVyIzf1rXYd4d7wo6jBlkLvCA4odBlL0mDUyZ0/QUfTTqeu+tm22gOsv+VrVTMk6vwRU75gY/y9ut5Mb3bR5BV58dKXyq9A9UeB5Cakehn5Zgm6x1mKoVyf+FFn26iYqXJRgzIZZcZ5V6hrE0Qg39kZm4az48o0AUbf6Sp4SLdvnuMa2sVNwHBboS7EJkm57XQPVU3/QpyNLHbWDdzwtrlS+ez30S3AdYhLKEOxAG8weOnyrtLJAUen9mTkol8oII1edf7mWWbWVf0nBmly21+nZcmCTISQBtdcyPaEno7fFQMDD26/s0lfKob4Kw8H
        

        Verifica che questa chiave sia ancora aggiornata con Azure DevOps Services.

      Bitbucket

      1. Per recuperare la chiave host pubblica di Bitbucket, esegui questo comando nel terminale:

        curl https://bitbucket.org/site/ssh
        
      2. Il comando restituisce un elenco di chiavi host pubbliche. Scegli una delle chiavi dall'elenco, copiala omettendo bitbucket.org dall'inizio della riga. Il valore che copi deve avere il seguente formato:

        ALGORITHM BASE64_KEY_VALUE
        

        Ad esempio:

        ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIazEu89wgQZ4bqs3d63QSMzYVa0MuJ2e2gKTKqu+UUO
        

        Verifica che questa chiave sia ancora aggiornata con Bitbucket.

      GitHub

      1. Per recuperare la chiave host pubblica di GitHub, vedi Impronte delle chiavi SSH di GitHub.
      2. La pagina contiene un elenco di chiavi host pubbliche. Scegli una delle opzioni e copiala, omettendo github.com dall'inizio della riga. Il valore che copi deve avere il seguente formato:

        ALGORITHM BASE64_KEY_VALUE
        

        Ad esempio:

        ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOMqqnkVzrm0SdG6UOoqKLsabgH5C9okWi0dh2l9GKJl
        

        Verifica che questa chiave sia ancora aggiornata con GitHub.

      GitLab

      1. Per recuperare la chiave host pubblica di GitLab, consulta le voci SSH known_hosts.
      2. La pagina contiene un elenco di chiavi host pubbliche. Scegli una delle opzioni e copiala, omettendo gitlab.com dall'inizio della riga. Il valore che copi deve avere il seguente formato:

        ALGORITHM BASE64_KEY_VALUE
        

        Ad esempio:

        ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAfuCHKVTjquxvt6CM6tdG4SLp1Btn/nOeHHE5UOzRdf
        

        Verifica che questa chiave sia ancora aggiornata con GitLab.

    16. Fai clic su Connetti.

    Connettere un repository remoto tramite HTTPS

    Per connettere un repository remoto tramite HTTPS, devi creare un secret di Secret Manager con un token di accesso personale e condividere il secret con il tuaccount di serviziont BigQuery predefinito.

    BigQuery utilizza quindi il token di accesso per accedere al tuo provider Git per eseguire il commit delle modifiche per conto degli utenti. BigQuery esegue questi commit utilizzando l'indirizzo email Google Cloud dell'utente, in modo da poter sapere chi ha eseguito ogni commit.

    Per connettere un repository remoto a un repository BigQuery tramite HTTPS:

    1. Nel tuo provider Git:

      GitHub

      1. In GitHub, crea un token di accesso personale granulare o un token di accesso personale classico.

        • Per un token di accesso personale GitHub granulare:
        1. Seleziona l'accesso al repository solo ai repository selezionati, quindi seleziona il repository a cui vuoi connetterti.

        2. Concedi l'accesso in lettura e scrittura ai contenuti del repository.

        3. Imposta un tempo di scadenza del token appropriato alle tue esigenze.

        • Per un token di accesso personale GitHub classico:
        1. Concedi a BigQuery l'autorizzazione repo.

        2. Imposta un tempo di scadenza del token appropriato alle tue esigenze.

      2. Se la tua organizzazione utilizza il Single Sign-On (SSO) SAML, autorizza il token.

      GitLab

      1. In GitLab, crea un token di accesso personale GitLab.

      2. Assegna un nome al token dataform. Questa operazione è obbligatoria.

      3. Concedi a BigQuery le autorizzazioni api, read_repository e write_repository.

      4. Imposta un tempo di scadenza del token appropriato alle tue esigenze.

    2. In Secret Manager, crea un secret contenente il token di accesso personale del repository remoto.

    3. Concedi l'accesso al secret all'agente di servizio Dataform predefinito.

      L'agente di servizio Dataform predefinito ha il seguente formato:

      service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com
      
    4. Concedi il ruolo roles/secretmanager.secretAccessor all'account di servizio.

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

      Vai a BigQuery

    6. Nel riquadro a sinistra, fai clic su Explorer:

      Pulsante evidenziato per il riquadro Spazio di esplorazione.

    7. Nel riquadro Explorer, espandi il progetto e fai clic su Repository per aprire la scheda Repository nel riquadro dei dettagli.

    8. Seleziona il repository BigQuery a cui vuoi connetterti al repository remoto.

    9. Nell'editor, seleziona la scheda Configurazione.

    10. Fai clic su Connettiti con Git.

    11. Nel riquadro Connetti al repository remoto, seleziona il pulsante di opzione HTTPS.

    12. Nel campo URL repository Git remoto, digita l'URL del repository Git remoto, che termina con .git.

      L'URL del repository Git remoto non può contenere nomi utente o password.

    13. Nel campo Nome del ramo remoto predefinito, digita il nome del ramo principale del repository Git remoto.

    14. Nel menu a discesa Secret, seleziona il secret che hai creato e che contiene il token di accesso personale.

    15. Fai clic su Connetti.

    Modificare la connessione al repository remoto

    Per modificare una connessione tra un repository BigQuery e un repository Git remoto:

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

      Vai a BigQuery

    2. Nel riquadro a sinistra, fai clic su Explorer:

      Pulsante evidenziato per il riquadro Spazio di esplorazione.

    3. Nel riquadro Explorer, espandi il progetto e fai clic su Repository per aprire la scheda Repository nel riquadro dei dettagli.

    4. Seleziona il repository BigQuery di cui vuoi modificare la connessione.

    5. Nell'editor, seleziona la scheda Configurazione.

    6. Nella pagina del repository, fai clic su Modifica connessione Git.

    7. Modifica le impostazioni di connessione.

    8. Fai clic su Aggiorna.

    Condividere un repository

    Per condividere un repository:

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

      Vai a BigQuery

    2. Nel riquadro a sinistra, fai clic su Explorer:

      Pulsante evidenziato per il riquadro Spazio di esplorazione.

    3. Nel riquadro Explorer, espandi il progetto e fai clic su Repository per aprire la scheda Repository nel riquadro dei dettagli.

    4. Trova il repository che vuoi condividere.

    5. Fai clic su Apri azioni e poi su Condividi.

    6. Nel riquadro Autorizzazioni di condivisione, fai clic su Aggiungi utente/gruppo.

    7. Nel riquadro Aggiungi utente/gruppo, nel campo Nuove entità, digita uno o più nomi di utenti o gruppi separati da virgole.

    8. Nel campo Ruolo, scegli il ruolo da assegnare alle nuove entità.

    9. Fai clic su Salva.

    Eliminare un repository

    Per eliminare un repository e tutti i relativi contenuti:

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

      Vai a BigQuery

    2. Nel riquadro a sinistra, fai clic su Explorer:

      Pulsante evidenziato per il riquadro Spazio di esplorazione.

    3. Nel riquadro Explorer, espandi il progetto e fai clic su Repository per aprire la scheda Repository nel riquadro dei dettagli.

    4. Trova il repository che vuoi eliminare.

    5. Fai clic su Apri azioni e poi su Elimina.

    6. Fai clic su Elimina.

    Passaggi successivi