Creare repository

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

  • Creazione dei repository
  • Eliminazione dei repository
  • Condivisione dei repository
  • Se vuoi, puoi collegare 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

Ruoli obbligatori

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

  • Creare e gestire repository condivisi: Proprietario di codice (roles/dataform.codeOwner)
  • Creare ed eliminare gli spazi di lavoro nei repository condivisi: Editor di codice (roles/dataform.codeEditor)
  • Crea, modifica e controlla la versione 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 gli spazi di lavoro e i file nel repository privato: Code Creator (roles/dataform.codeCreator)

Per ulteriori informazioni sulla concessione dei ruoli, consulta Gestire 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 tutte le aree di lavoro al suo interno.

I repository privati che crei sono comunque visibili ai principali a cui sono stati assegnati i ruoli Amministratore BigQuery o Amministratore BigQuery Studio a livello di progetto. Questi principali 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.

Connettiti 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, eseguendo il pull degli aggiornamenti dal repository remoto e il push delle modifiche al repository remoto.

Ti consigliamo di creare un repository BigQuery dedicato per ogni repository remoto a cui ti colleghi. Assegna al repository BigQuery un nome simile a quello del repository remoto per chiarire la mappatura.

Puoi collegare un repository remoto tramite HTTPS o SSH. Nella tabella seguente sono elencati 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 Secret Manager. La chiave SSH è composta da una chiave SSH pubblica e da una chiave SSH privata. Devi condividere la chiave SSH pubblica con il tuo provider Git e creare un segreto 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 tuo provider Git e committare le modifiche per conto degli utenti. BigQuery esegue questi commit utilizzando l' Google Cloud indirizzo email dell'utente, in modo da poter capire 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 tuo repository di Azure DevOps Services.

    Bitbucket

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

    GitHub

    1. In GitHub, controlla se sono presenti chiavi SSH esistenti.
    2. Se non hai chiavi SSH esistenti o se vuoi utilizzare una nuova chiave, 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 ritrovare in un secondo momento.

  3. Concedi l'accesso al secret al tuo account di servizio Dataform predefinito.

    Il tuo 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 Repositories (Repositoi).

  7. Seleziona il repository BigQuery da collegare al repository remoto.

  8. Nell'editor, seleziona la scheda Configurazione.

  9. Fai clic su Connetti con Git.

  10. Nel riquadro Connetti al repository remoto, seleziona il pulsante di radio 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 segreto 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 fornitore 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 codificati nel formato base64, ma senza il nome host 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 codificati nel formato base64, ma senza il nome host 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 codificati nel formato base64, ma senza il nome host 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 codificati nel formato base64, ma senza il nome host o l'IP, nel seguente formato:

    ALGORITHM BASE64_KEY_VALUE
    

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

  15. Fai clic su Connetti.

Connetti un repository remoto tramite HTTPS

Per collegare un repository remoto tramite HTTPS, devi creare un secret di Secret Manager con un token di accesso personale e condividerlo con il tuo account di servizio BigQuery predefinito.

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

Per collegare 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 ai repository solo per alcuni repository, quindi seleziona il repository a cui vuoi connetterti.

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

      3. Imposta una scadenza del token appropriata alle tue esigenze.

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

      2. Imposta una scadenza del token appropriata 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 il nome dataform al token.

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

    4. Imposta una scadenza del token appropriata alle tue esigenze.

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

  3. Concedi l'accesso al secret al tuo account di servizio Dataform predefinito.

    Il tuo 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 Repositories (Repositoi).

  7. Seleziona il repository BigQuery da collegare al repository remoto.

  8. Nell'editor, seleziona la scheda Configurazione.

  9. Fai clic su Connetti con Git.

  10. Nel riquadro Connetti al repository remoto, seleziona il pulsante di radio 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 Repositories (Repositoi).

  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, nel campo Nuove entità, digita uno o più nomi di utenti o gruppi separati da virgole.

  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 da eliminare.

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

  5. Fai clic su Elimina.

Passaggi successivi