Creare 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.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the BigQuery and Dataform APIs.

    Enable the APIs

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

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the BigQuery and Dataform APIs.

    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: Proprietario del codice (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: Visualizzatore di codice (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 Explorer, fai clic sulla cartella Repository.

    3. Nell'editor, fai clic su Aggiungi repository.

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

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

    5. 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.

    6. Fai clic su Crea.

    Connettersi a un repository di terze parti

    Questa sezione mostra come collegare 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, recuperare gli aggiornamenti dal repository remoto ed eseguire il push delle modifiche nel 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 loro 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 è composta 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 di Secret Manager con la chiave SSH privata. Poi, condividi il secret con il tuo account di servizio 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 repository Bitbucket.

      GitHub

      1. In GitHub, verifica la presenza di chiavi SSH esistenti.
      2. Se non hai chiavi SSH esistenti o se 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 tua chiave SSH privata come valore del secret. La chiave SSH privata deve essere memorizzata in un file simile a ~/.ssh/id_ed25519. Assegna un nome al secret per poterlo trovare in futuro.

    3. Concedi l'accesso al secret al tuo service account 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 Explorer, espandi la cartella Repository.

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

    8. Nell'editor, seleziona la scheda Configurazione.

    9. Fai clic su Connettiti con Git.

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

    11. 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}.
    12. Nel campo Nome del ramo remoto predefinito, digita il nome del ramo principale del repository Git remoto.

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

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

      Azure DevOps Services

      Il valore della chiave host pubblica SSH deve essere nel formato di un file known_hosts. Il valore deve contenere un algoritmo e una chiave pubblica codificata nel formato base64, ma senza l'hostname o l'IP, nel seguente formato:

      ALGORITHM BASE64_KEY_VALUE
      

      Per recuperare la chiave host pubblica di Azure DevOps Services, esegui il comando ssh-keyscan -t rsa ssh.dev.azure.com nel terminale.

      Bitbucket

      Il valore della chiave host pubblica SSH deve essere nel formato di un file known_hosts. Il valore deve contenere un algoritmo e una chiave pubblica codificata nel formato base64, ma senza l'hostname o l'IP, nel seguente formato:

      ALGORITHM BASE64_KEY_VALUE
      

      Per recuperare la chiave host pubblica di Bitbucket, consulta Configurare SSH.

      GitHub

      Il valore della chiave host pubblica SSH deve essere nel formato di un file known_hosts. Il valore deve contenere un algoritmo e una chiave pubblica codificata nel formato base64, ma senza l'hostname o l'IP, nel seguente formato:

      ALGORITHM BASE64_KEY_VALUE
      

      Per recuperare la chiave host pubblica di GitHub, consulta le impronte delle chiavi SSH di GitHub.

      GitLab

      Il valore della chiave host pubblica SSH deve essere nel formato di un file known_hosts. Il valore deve contenere un algoritmo e una chiave pubblica codificata nel formato base64, ma senza l'hostname o l'IP, nel seguente formato:

      ALGORITHM BASE64_KEY_VALUE
      

      Per recuperare la chiave host pubblica di GitLab, consulta Voci SSH known_hosts.

    15. 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 tuo account di servizio 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, poi 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 per le 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 per le 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 per le tue esigenze.

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

    3. Concedi l'accesso al secret al tuo service account 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 Explorer, espandi la cartella Repository.

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

    8. Nell'editor, seleziona la scheda Configurazione.

    9. Fai clic su Connettiti con Git.

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

    11. 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.

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

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

    14. 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 Explorer, espandi la cartella Repository.

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

    4. Nell'editor, seleziona la scheda Configurazione.

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

    6. Modifica le impostazioni di connessione.

    7. 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 Explorer, fai clic sulla cartella Repository.

    3. Nel riquadro Repository Git, seleziona il repository che vuoi condividere.

    4. Fai clic sull'opzione Azioni e poi su Condividi.

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

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

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

    8. 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 Explorer, fai clic sulla cartella Repository.

    3. Nel riquadro Repository Git, seleziona il repository che vuoi eliminare.

    4. Fai clic sull'opzione Azioni e poi su Elimina.

    5. Fai clic su Elimina.

    Passaggi successivi