Crea un repository

Questo documento ti aiuta a comprendere il concetto di repository in Dataform e come creare un nuovo repository.

Informazioni sui repository Dataform

Ogni repository Dataform contiene una raccolta di file SQLX e JavaScript che compongono il workflow, nonché file di configurazione e pacchetti Dataform. Interagisci con i contenuti del tuo repository in un workspace di sviluppo.

Dataform mostra i repository nella pagina Dataform in ordine alfabetico in base agli ID repository. Puoi ordinarli e filtrarli.

  • Per visualizzare i repository, nella Google Cloud console, vai alla pagina Dataform.

    Vai a Dataform

Ogni repository Dataform deve essere connesso a un account di servizio personalizzato. Seleziona un account di servizio personalizzato quando crei un repository. Puoi modificare il service account in un secondo momento.

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 collegarlo 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 archivia 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
Visualizza i workspace di sviluppo creati nel repository.
Scheda Log di esecuzione del workflow
Visualizza i log di esecuzione del workflow Dataform.
Scheda Release e pianificazione
Consente di esaminare, creare, modificare ed eliminare le configurazioni della release e le configurazioni del workflow.
Scheda Impostazioni
Visualizza il nome e la località del repository. Per un repository connesso a un repository Git di terze parti, visualizza l'origine del repository di terze parti, il nome del branch predefinito e il token secret. Visualizza 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 workspace di sviluppo, puoi modificare il file delle impostazioni del workflow per configurare le seguenti impostazioni Dataform del repository:

  • Il database predefinito (Google Cloud ID progetto).
  • Lo schema predefinito (ID set di dati BigQuery).
  • La località BigQuery predefinita.
  • Lo schema predefinito (ID set di dati BigQuery) per le asserzioni.
  • Il data warehouse, che deve essere impostato su bigquery.
  • Le 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 nel riferimento principale di Dataform.

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

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 del set di dati BigQuery predefinito. Puoi modificare la regione di elaborazione nel file delle impostazioni del workflow dopo aver creato il repository. Per ulteriori informazioni, consulta Configurare le impostazioni del workflow Dataform.

Service account

Il account di servizio personalizzato associato al repository. Puoi selezionare un account di servizio associato al tuo Google Cloud progetto o inserire manualmente un account di servizio diverso.

Devi utilizzare un account di servizio personalizzato per eseguire i workflow nel repository. Tutte le altre operazioni del repository vengono eseguite dall'agente di servizio Dataform predefinito.

Modalità act-as StrictMode

Abilita un controllo di sicurezza aggiuntivo che richiede l'autorizzazione iam.serviceAccounts.actAs sul account di servizio. La modalità act-as StrictMode è applicata a tutti i repository.

Crittografia

Metodo di crittografia per il repository. Puoi utilizzare la crittografia predefinita, una chiave di crittografia Cloud KMS gestita dal cliente univoca o una chiave CMEK Dataform predefinita. Per ulteriori informazioni 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 collegarlo a GitHub o GitLab.

Prima di iniziare

  1. Accedi al tuo Google Cloud account. Se non hai mai utilizzato Google Cloud, crea un account per valutare il rendimento 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.
  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. 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
  • Utente Service Account (roles/iam.serviceAccountUser) - il 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 tuo 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 avere accesso sia in lettura sia in scrittura. In genere, questo include il progetto che ospita il repository Dataform.
  • Visualizzatore dati BigQuery (roles/bigquery.dataViewer) su progetti o set di dati BigQuery specifici a cui Dataform deve avere accesso di sola lettura.
  • Utente job BigQuery (roles/bigquery.jobUser) sul 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 sulla risorsa del account di servizio personalizzato:

Per concedere questi ruoli, segui questi passaggi:

  1. Nella Google Cloud console vai alla pagina IAM.

    Vai a IAM

  2. Fai clic su Concedi l'accesso.

  3. Nel campo Nuove entità, inserisci l'ID del tuo account di servizio personalizzato.

  4. 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
  5. Fai clic su Salva.

  6. Nella Google Cloud console vai alla pagina Service account.

    Vai ad Account di servizio

  7. Seleziona il tuo account di servizio personalizzato.

  8. Vai a Entità con accesso e fai clic su Concedi l'accesso.

  9. Nel campo Nuove entità, inserisci l'ID dell'agente di servizio Dataform predefinito.

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

    service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com
    

    Sostituisci PROJECT_NUMBER con l'ID numerico del tuo Google Cloud progetto. Puoi trovare l'ID del tuo Google Cloud progetto nella Google Cloud dashboard della console. Per ulteriori informazioni, consulta Trovare il nome, il numero e l'ID del progetto.

  10. Nell'elenco Seleziona un ruolo, aggiungi i seguenti ruoli:

    • Utente Service Account
    • Creatore token account di servizio
  11. Fai clic su Salva.

Per ulteriori informazioni sulla concessione dei ruoli, consulta Concedere a Dataform l'accesso richiesto.

Crea un repository

Per creare un repository Dataform:

  1. Nella Google Cloud console vai alla pagina Dataform.

    Vai a Dataform

  2. Fai clic su Crea repository.

  3. Nella pagina Crea repository, nel campo ID repository , inserisci un ID univoco.

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

  4. Nell'elenco a discesa Regione, seleziona una regione Dataform per l'archiviazione del repository e dei relativi contenuti. Seleziona la regione Dataform più vicina alla tua località.

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

    Nel file workflow_settings.yaml, puoi 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 deve necessariamente corrispondere alla regione del repository. Per ulteriori informazioni, consulta Configurare le impostazioni del workflow Dataform.

  5. 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 Google Cloud progetto a cui hai accesso. I service account personalizzati vengono utilizzati solo per l'esecuzione del workflow. Tutte le altre operazioni del repository vengono eseguite dall'agente di servizio Dataform predefinito.

    1. (Facoltativo) Per selezionare un account di servizio non visualizzato nel menu, ad esempio se non disponi dell'autorizzazione iam.serviceAccounts.list necessaria per visualizzare l'elenco dei ruoli, fai clic su Inserisci manualmente e inserisci l'ID del account di servizio.
  6. Nella sezione Controlli delle autorizzazioni actAs, applica i controlli delle autorizzazioni alle azioni dell'utente sul repository. Per i dettagli su questi controlli, consulta Utilizzare la modalità act-as StrictMode.

  7. Configura il meccanismo di crittografia selezionato per il repository:

    Chiave CMEK predefinita

    Dataform visualizza la casella di controllo Utilizza la chiave KMS predefinita e la seleziona per impostazione predefinita.

    • Per criptare il repository con la chiave CMEK Dataform predefinita, lascia selezionata la casella di controllo Utilizza la chiave KMS predefinita.

    Chiave CMEK univoca

    Per criptare il repository con una chiave CMEK univoca:

    1. Se la casella di controllo Utilizza la chiave KMS predefinita è selezionata per impostazione predefinita, deselezionala.
    2. Nella sezione Crittografia, seleziona l'opzione Chiavi di crittografia gestite dal cliente (CMEK).
    3. Nel menu a discesa Seleziona una chiave gestita dal cliente , seleziona una chiave CMEK univoca.

    Crittografia at-rest

    • Per utilizzare la crittografia predefinita, nella sezione Crittografia, seleziona l'opzione Google-managed encryption key.
  8. Fai clic su Crea, quindi su Vai ai repository.

Modifica il account di servizio

Devi utilizzare un account di servizio personalizzato per eseguire i workflow nel repository. Tutte le altre operazioni del repository vengono eseguite dall'agente di servizio Dataform predefinito.

Per modificare il account di servizio di un repository Dataform:

  1. Nella Google Cloud console vai alla pagina Dataform.

    Vai a Dataform

  2. Seleziona un repository, quindi fai clic su Impostazioni.

  3. Nel campo Service account, fai clic su Modifica service account.

  4. Nel menu Service account, seleziona un account di servizio per il repository.

    Nel menu puoi selezionare un account di servizio personalizzato associato al tuo Google Cloud progetto a cui hai accesso.

    1. (Facoltativo) Per selezionare un account di servizio non visualizzato nel menu, fai clic su Inserisci manualmente e inserisci un ID del account di servizio.
  5. Fai clic su Salva.

Elimina un repository

Per eliminare un repository e tutti i relativi contenuti:

  1. Nella Google Cloud console vai alla pagina Dataform.

    Vai a Dataform

  2. Accanto al repository che vuoi eliminare, fai clic sul menu Altro e seleziona Elimina.

  3. Nella finestra Elimina repository, inserisci il nome del repository per confermare l'eliminazione.

  4. Fai clic su Elimina.

Passaggi successivi