Questo documento ti aiuta a comprendere il concetto di repository in Dataform e come crearne uno nuovo.
Informazioni sui repository Dataform
Ogni repository Dataform contiene una raccolta di file SQLX e JavaScript che compongono il workflow, nonché pacchetti e file di configurazione Dataform. Interagisci con i contenuti del tuo repository in un workspace di sviluppo.
Dataform mostra i tuoi repository nella pagina Dataform in ordine alfabetico in base agli ID repository. Puoi ordinarli e filtrarli.
Per visualizzare i repository, nella console Google Cloud , vai alla pagina Dataform.
Ogni repository Dataform è connesso a un service agent Dataform predefinito o a un account di servizio personalizzato. Puoi selezionare un account di servizio personalizzato solo quando crei un repository. Puoi modificare il service account in un secondo momento.
Per impostazione predefinita, Dataform utilizza un service agent o un account di servizio derivato dal numero del progetto nel seguente formato:
service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com
Dataform utilizza Git per registrare le modifiche e gestire le versioni dei file. Ogni repository Dataform corrisponde a un repository Git. Dopo aver creato un repository Dataform, puoi connetterlo a un repository GitHub, GitLab o Bitbucket remoto.
In un repository Dataform, Dataform archivia il codice del repository. In un repository connesso, il repository di terze parti memorizza il codice del repository. Dataform interagisce con il repository di terze parti per consentirti di modificare ed eseguire i relativi contenuti in un workspace di sviluppo Dataform.
La pagina del repository Dataform è costituita dai seguenti componenti:
- Scheda Workspace di sviluppo
- Mostra i workspace di sviluppo creati nel repository.
- Scheda Log di esecuzione del workflow
- Visualizza i log di esecuzione del flusso di lavoro Dataform.
- Scheda Release e pianificazione
- Consente di esaminare, creare, modificare ed eliminare configurazioni della release e configurazioni del flusso di lavoro.
- Scheda Impostazioni
- Mostra il nome e la posizione del repository. Per un repository connesso a un repository Git di terze parti, vengono visualizzati l'origine del repository di terze parti, il nome del ramo predefinito e il token segreto. Mostra i pulsanti per connettere il repository a un repository Git di terze parti e per modificare la connessione Git.
- Pulsante Crea workspace di sviluppo
- Consente di creare un workspace di sviluppo.
Dopo aver creato e inizializzato un'area di lavoro di sviluppo, puoi modificare il file delle impostazioni del workflow per configurare le seguenti impostazioni di Dataform del repository:
- Il database predefinito (ID progettoGoogle Cloud ).
- Lo schema predefinito (ID set di dati BigQuery).
- La località BigQuery predefinita.
- Lo schema predefinito (ID set di dati BigQuery) per le asserzioni.
- Il magazzino, che deve essere impostato su
bigquery. - Variabili definite dall'utente che vengono rese disponibili al codice del progetto durante la compilazione.
Per ulteriori informazioni sulle impostazioni del repository Dataform, consulta IProjectConfig nella guida di riferimento di Dataform Core.
Impostazioni repository
Quando crei un repository Dataform, devi impostare le seguenti impostazioni del repository:
- ID repository
- Un ID univoco del repository. Gli ID possono includere solo numeri, lettere, trattini e trattini bassi.
- Regione
La regione Dataform per l'archiviazione del repository e dei relativi contenuti.
Questa regione di archiviazione può essere diversa dalla regione di elaborazione in cui Dataform elabora il codice e archivia l'output delle esecuzioni. Per impostazione predefinita, la regione di elaborazione è impostata sulla regione predefinita del set di dati BigQuery. Puoi modificare la regione di elaborazione nel file delle impostazioni del workflow dopo aver creato il repository. Per ulteriori informazioni, vedi Configurare le impostazioni del flusso di lavoro Dataform.
- Agente di servizio o account di servizio
L'agente di servizio Dataform o il account di servizio personalizzato associato al repository. Per i nuovi repository, devi fornire un account di servizio personalizzato. Puoi selezionare un account di servizio associato al tuo progettoGoogle Cloud o inserire manualmente un altro account di servizio.
Per impostazione predefinita, Dataform utilizza un service agent o un account di servizio derivato dal numero del progetto nel seguente formato:
service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.comPer eseguire i workflow nel tuo repository devi utilizzare un account di servizio personalizzato, ma l'agente di servizio Dataform predefinito viene comunque utilizzato per tutte le altre operazioni del repository.
- Modalità act-as rigorosa
Attiva un controllo di sicurezza aggiuntivo che richiede l'autorizzazione
iam.serviceAccounts.actAsper il account di servizio. Per i nuovi repository, viene applicata la modalità actAs rigorosa. Per i repository esistenti, ti consigliamo di utilizzare service account personalizzati e di attivare la modalità act-as rigorosa per garantire un modello di autorizzazioni più sicuro e prevedibile.- Crittografia
Metodo di crittografia per il repository. Puoi utilizzare la crittografia predefinita, una chiave di crittografia Cloud KMS gestita dal cliente unica o una chiave CMEK Dataform predefinita. Per saperne di più sull'utilizzo delle chiavi di crittografia gestite dal cliente (CMEK) in Dataform, consulta Utilizzare le chiavi di crittografia gestite dal cliente.
Dopo aver creato un repository, puoi connetterlo a GitHub o GitLab.
Prima di iniziare
- Accedi al tuo account Google Cloud . Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti senza costi per l'esecuzione, il test e il deployment dei workload.
-
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
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 theserviceusage.services.enablepermission. Learn how to grant roles.-
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
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 theserviceusage.services.enablepermission. Learn how to grant roles.- Per utilizzare la crittografia CMEK per il repository, abilita la crittografia CMEK dei repository Dataform.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per creare ed eliminare un repository, chiedi all'amministratore di concederti i seguenti ruoli IAM sui repository:
-
Dataform Admin (
roles/dataform.admin) - il progetto -
Service Account User (
roles/iam.serviceAccountUser): l'account di servizio personalizzato
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.
Concedi i ruoli richiesti
Per eseguire i workflow nel repository Dataform e in BigQuery, puoi utilizzare un account di servizio personalizzato o il tuo Account Google.
Il account di servizio personalizzato deve disporre dei seguenti ruoli obbligatori:
- Editor dati BigQuery
(
roles/bigquery.dataEditor) su progetti o set di dati BigQuery specifici a cui Dataform deve accedere in lettura e scrittura. In genere, ciò include il progetto che ospita il repository Dataform. - BigQuery Data Viewer
(
roles/bigquery.dataViewer) su progetti o set di dati BigQuery specifici a cui Dataform deve accedere in sola lettura. - BigQuery Job User
(
roles/bigquery.jobUser) nel progetto che ospita il repository Dataform.
Per consentire a Dataform di utilizzare il tuo account di servizio personalizzato, l'agente di servizio Dataform predefinito deve disporre dei seguenti ruoli nella risorsa account di servizio personalizzato:
- Creatore token service account
(
roles/iam.serviceAccountTokenCreator) - Service Account User
(
roles/iam.serviceAccountUser)
Per concedere questi ruoli, segui questi passaggi:
Nella console Google Cloud vai alla pagina IAM.
Fai clic su Concedi l'accesso.
Nel campo Nuove entità, inserisci l'ID del tuo account di servizio personalizzato.
Nel menu Seleziona un ruolo, seleziona i seguenti ruoli uno alla volta utilizzando Aggiungi un altro ruolo per ogni ruolo aggiuntivo:
- Editor dati BigQuery
- Visualizzatore dati BigQuery
- Utente job BigQuery
Fai clic su Salva.
Nella Google Cloud console, vai alla pagina Service account.
Seleziona il account di servizio personalizzato.
Vai a Entità con accesso e poi fai clic su Concedi l'accesso.
Nel campo Nuove entità, inserisci l'ID service agent Dataform predefinito.
L'ID service agent Dataform predefinito ha il seguente formato:
service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.comSostituisci
PROJECT_NUMBERcon l'ID numerico del tuo progettoGoogle Cloud . Puoi trovare l'ID progetto Google Cloud nella dashboard della consoleGoogle Cloud . Per saperne di più, consulta la sezione Identificazione dei progetti.Nell'elenco Seleziona un ruolo, aggiungi i seguenti ruoli:
- Utente Service Account
- Creatore token service account
Fai clic su Salva.
Per saperne di più sulla concessione dei ruoli, consulta Concedere a Dataform l'accesso richiesto.
Crea un repository
Per creare un repository Dataform:
Nella console Google Cloud , vai alla pagina Dataform.
Fai clic su Crea repository.
Nella pagina Crea repository, nel campo ID repository, inserisci un ID univoco.
Gli ID possono includere solo numeri, lettere, trattini e trattini bassi.
Nell'elenco a discesa Regione, seleziona una regione Dataform per archiviare il repository e i relativi contenuti. Seleziona la regione Dataform più vicina alla tua posizione.
Per un elenco delle regioni Dataform disponibili, consulta Località. La regione del repository non deve corrispondere alla località dei set di dati BigQuery.
Nel file
workflow_settings.yamlpuoi impostare la regione di elaborazione in cui Dataform elabora il codice e archivia l'output delle esecuzioni. La regione di elaborazione deve corrispondere alla località dei set di dati BigQuery, ma non alla regione del repository. Per ulteriori informazioni, vedi Configurare le impostazioni del flusso di lavoro Dataform.Nel menu Service account, seleziona un account di servizio personalizzato per il repository.
Nel menu, puoi selezionare un account di servizio personalizzato associato al tuo progettoGoogle Cloud a cui hai accesso. I service account personalizzati vengono utilizzati solo per l'esecuzione del workflow. Tutte le altre operazioni sul repository vengono eseguite dall'agente di servizio Dataform predefinito.
- (Facoltativo) Per selezionare un account di servizio non visualizzato nel menu, fai clic su Inserisci manualmente e inserisci un IDaccount di serviziot.
Nella sezione Controlli delle autorizzazioni actAs, applica i controlli delle autorizzazioni alle azioni dell'utente sul repository. Per informazioni dettagliate su questi controlli, vedi Utilizzare la modalità Act-as rigorosa.
Configura il meccanismo di crittografia selezionato per il repository:
Chiave CMEK predefinita
Dataform mostra la casella di controllo Utilizza la chiave KMS predefinita e la seleziona per impostazione predefinita.
- Per criptare il repository con la chiave CMEK predefinita di Dataform, lascia selezionata la casella di controllo Utilizza la chiave KMS predefinita.
Chiave CMEK univoca
Per criptare il repository con una chiave CMEK univoca, segui questi passaggi:
- Se la casella di controllo Utilizza la chiave KMS predefinita è selezionata per impostazione predefinita, deselezionala.
- Nella sezione Crittografia, seleziona l'opzione Chiavi di crittografia gestite dal cliente (CMEK).
- Nel menu a discesa Seleziona una chiave gestita dal cliente, seleziona una chiave CMEK univoca.
Crittografia dei dati inattivi
- Per utilizzare la crittografia predefinita, nella sezione Crittografia, seleziona l'opzione Google-managed encryption key.
Fai clic su Crea, quindi su Vai ai repository.
Modificare il account di servizio
Devi associare un account di servizio personalizzato a un repository Dataform per l'esecuzione del workflow. Tutte le altre operazioni del repository vengono comunque eseguite dall'agente di servizio Dataform predefinito.
Per modificare il account di servizio per un repository Dataform, segui questi passaggi:
Nella console Google Cloud , vai alla pagina Dataform.
Seleziona un repository e poi fai clic su Impostazioni.
Accanto al campo Service account, fai clic su Modifica service account.
Nel menu Service account, seleziona un account di servizio per il repository.
Nel menu, puoi selezionare un account di servizio personalizzato associato al tuo progettoGoogle Cloud a cui hai accesso.
- (Facoltativo) Per selezionare un account di servizio non visualizzato nel menu, fai clic su Inserisci manualmente e inserisci un IDaccount di serviziot.
Fai clic su Salva.
Eliminare un repository
Per eliminare un repository e tutti i relativi contenuti:
Nella console Google Cloud , vai alla pagina Dataform.
Accanto al repository che vuoi eliminare, fai clic sul menu Altro e poi seleziona Elimina.
Nella finestra Elimina repository, inserisci il nome del repository per confermare l'eliminazione.
Fai clic su Elimina.
Passaggi successivi
- Per scoprire come connettere un repository Dataform a un repository Git di terze parti, consulta Connettersi a un repository Git di terze parti.
- Per scoprire di più su come le dimensioni del repository influiscono sullo sviluppo in Dataform, consulta Panoramica delle dimensioni del repository.
- Per saperne di più sulla suddivisione di un repository in Dataform, consulta Introduzione alla suddivisione dei repository.
- Per scoprire come configurare le impostazioni di elaborazione di Dataform, vedi Configurare le impostazioni del workflow Dataform.
- Per scoprire come creare e inizializzare uno spazio di lavoro, consulta Creare uno spazio di lavoro.