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
- 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.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the BigQuery and Dataform APIs.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the BigQuery and Dataform 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:
Nella console Google Cloud, vai alla pagina BigQuery.
Nel riquadro Explorer, fai clic sulla cartella Repository.
Nell'editor, fai clic su Aggiungi repository.
Nel riquadro Crea repository, nel campo ID repository, digita un ID univoco.
Gli ID possono includere solo numeri, lettere, trattini e trattini bassi.
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.
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:
Nel tuo provider Git:
Azure DevOps Services
- In Azure DevOps Services, crea una chiave SSH privata.
- Carica la chiave SSH pubblica nel tuo repository di Azure DevOps Services.
Bitbucket
- In Bitbucket, crea una chiave SSH privata.
- Carica la chiave pubblica SSH nel tuo repository Bitbucket.
GitHub
- In GitHub, controlla se sono presenti chiavi SSH esistenti.
- Se non hai chiavi SSH esistenti o se vuoi utilizzare una nuova chiave, crea una chiave SSH privata.
- Carica la chiave SSH pubblica di GitHub nel tuo repository GitHub.
GitLab
- In GitLab, crea una chiave SSH privata.
- Carica la chiave SSH pubblica di GitLab nel tuo repository GitLab.
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.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
Concedi il ruolo
roles/secretmanager.secretAccessor
all'account di servizio.Nella console Google Cloud, vai alla pagina BigQuery.
Nel riquadro Explorer, espandi la cartella Repositories (Repositoi).
Seleziona il repository BigQuery da collegare al repository remoto.
Nell'editor, seleziona la scheda Configurazione.
Fai clic su Connetti con Git.
Nel riquadro Connetti al repository remoto, seleziona il pulsante di radio SSH.
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}
.
- URL assoluto:
Nel campo Nome del ramo remoto predefinito, digita il nome del ramo principale del repository Git remoto.
Nel menu a discesa Secret, seleziona il segreto che hai creato e che contiene la chiave privata SSH.
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 formatobase64
, 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 formatobase64
, 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 formatobase64
, 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 formatobase64
, 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.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:
Nel tuo provider Git:
GitHub
In GitHub, crea un token di accesso personale granulare o un token di accesso personale classico.
- Per un token di accesso personale GitHub granulare:
Seleziona l'accesso ai repository solo per alcuni repository, quindi seleziona il repository a cui vuoi connetterti.
Concedi l'accesso in lettura e scrittura ai contenuti del repository.
Imposta una scadenza del token appropriata alle tue esigenze.
- Per un token di accesso personale GitHub classico:
Concedi a BigQuery l'autorizzazione
repo
.Imposta una scadenza del token appropriata alle tue esigenze.
Se la tua organizzazione utilizza il Single Sign-On (SSO) SAML, autorizza il token.
GitLab
In GitLab, crea un token di accesso personale GitLab.
Assegna il nome
dataform
al token.Concedi a BigQuery le autorizzazioni
api
,read_repository
ewrite_repository
.Imposta una scadenza del token appropriata alle tue esigenze.
In Secret Manager, crea un secret contenente il token di accesso personale del tuo repository remoto.
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
Concedi il ruolo
roles/secretmanager.secretAccessor
all'account di servizio.Nella console Google Cloud, vai alla pagina BigQuery.
Nel riquadro Explorer, espandi la cartella Repositories (Repositoi).
Seleziona il repository BigQuery da collegare al repository remoto.
Nell'editor, seleziona la scheda Configurazione.
Fai clic su Connetti con Git.
Nel riquadro Connetti al repository remoto, seleziona il pulsante di radio HTTPS.
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.
Nel campo Nome del ramo remoto predefinito, digita il nome del ramo principale del repository Git remoto.
Nel menu a discesa Secret, seleziona il secret che hai creato e che contiene il token di accesso personale.
Fai clic su Connetti.
Modificare la connessione al repository remoto
Per modificare una connessione tra un repository BigQuery e un repository Git remoto:
Nella console Google Cloud, vai alla pagina BigQuery.
Nel riquadro Explorer, espandi la cartella Repositories (Repositoi).
Seleziona il repository BigQuery di cui vuoi modificare la connessione.
Nell'editor, seleziona la scheda Configurazione.
Nella pagina del repository, fai clic su Modifica connessione Git.
Modifica le impostazioni di connessione.
Fai clic su Aggiorna.
Condividere un repository
Per condividere un repository:
Nella console Google Cloud, vai alla pagina BigQuery.
Nel riquadro Explorer, fai clic sulla cartella Repository.
Nel riquadro Repository Git, seleziona il repository che vuoi condividere.
Fai clic sull'opzione
Azioni e poi su Condividi.Nel riquadro Autorizzazioni di condivisione, fai clic su Aggiungi utente/gruppo.
Nel riquadro Aggiungi utente/gruppo, nel campo Nuove entità, digita uno o più nomi di utenti o gruppi separati da virgole.
Nel campo Ruolo, scegli il ruolo da assegnare alle nuove entità.
Fai clic su Salva.
Eliminare un repository
Per eliminare un repository e tutti i relativi contenuti:
Nella console Google Cloud, vai alla pagina BigQuery.
Nel riquadro Explorer, fai clic sulla cartella Repository.
Nel riquadro Repository Git, seleziona il repository da eliminare.
Fai clic sull'opzione
Azioni e poi su Elimina.Fai clic su Elimina.
Passaggi successivi
- Scopri come creare spazi di lavoro.