Creare override di compilazione dell'area di lavoro

Questo documento mostra come creare override di compilazione dell'area di lavoro per isolare le tabelle e le viste create dalle aree di lavoro Dataform in BigQuery. Puoi utilizzare gli override di compilazione dell'area di lavoro per creare ambienti di sviluppo Dataform isolati.

Informazioni sugli override di compilazione dell'area di lavoro

Quando sviluppi il codice del flusso di lavoro SQL in uno spazio di lavoro Dataform, Dataform compila il codice nello spazio di lavoro in tempo reale per creare un risultato di compilazione dello spazio di lavoro. Dataform utilizza le impostazioni definite nel file di impostazioni del flusso di lavoro per creare il risultato della compilazione dell'area di lavoro. Poi, quando attivi l'esecuzione in uno spazio di lavoro, Dataform esegue il risultato della compilazione dello spazio di lavoro in BigQuery.

Per eseguire l'override delle impostazioni predefinite impostate nelle impostazioni del workflow per tutti gli spazi di lavoro nel tuo repository, puoi creare override della compilazione dello spazio di lavoro.

Con gli override della compilazione dell'area di lavoro, puoi eseguire l'override delle seguenti impostazioni per tutte le aree di lavoro nel tuo repository:

Progetto
Progetto
Google Cloud in cui Dataform esegue il risultato della compilazione dello spazio di lavoro, impostato in workflow_settings.yaml come defaultProject o in dataform.json come defaultDatabase.
Prefisso tabella
Prefisso personalizzato aggiunto a tutti i nomi delle tabelle in tutte le aree di lavoro nel repository.
Suffisso schema

Suffisso personalizzato aggiunto allo schema delle tabelle definito in

Imposta come defaultDataset in workflow_settings.yaml, defaultSchema in dataform.json o nel parametro schema nel blocco config di una tabella.

Per creare ambienti di sviluppo isolati, puoi isolare gli spazi di lavoro con override di compilazione unici. Puoi modificare dinamicamente gli override della compilazione del prefisso della tabella e del suffisso dello schema con la variabile ${workspaceName}.

Quando attivi manualmente l'esecuzione in uno spazio di lavoro, la variabile ${workspaceName} inserisce il nome dello spazio di lavoro negli override di compilazione dello spazio di lavoro.

Quando imposti ${workspaceName} come prefisso della tabella, Dataform aggiunge il nome dello spazio di lavoro ai nomi di tutte le tabelle dello spazio di lavoro. Dopo l'esecuzione, in BigQuery puoi identificare lo spazio di lavoro da cui proviene una tabella.

Quando imposti ${workspaceName} come suffisso dello schema, Dataform aggiunge il nome dell'area di lavoro a defaultSchema, creando uno schema personalizzato dedicato all'area di lavoro. Dopo l'esecuzione, in BigQuery puoi trovare tutte le tabelle eseguite da uno spazio di lavoro specifico nello schema dedicato.

Esempio di override di compilazione dell'area di lavoro dinamica

L'esempio seguente mostra gli override delle compilazioni degli spazi di lavoro dinamici applicati a un repository contenente spazi di lavoro denominati in base agli sviluppatori che lavorano al repository: Sasha e Kai.

Lo scopo degli override di compilazione dell'area di lavoro in questo esempio è creare ambienti di sviluppo isolati per Sasha e Kai.

In workflow_settings.yaml sono impostate le seguenti impostazioni predefinite:

  • defaultProject: analytics
  • defaultDataset: dataform

I seguenti override della compilazione dello spazio di lavoro creano un prefisso della tabella e un suffisso dello schema dinamici per ogni spazio di lavoro nel repository:

  • Google Cloud ID progetto : analytics_dev
  • Prefisso della tabella: ${workspaceName}
  • Suffisso dello schema: ${workspaceName}

Quando Sasha attiva manualmente l'esecuzione nello spazio di lavoro Sasha, Dataform esegue i relativi contenuti con le seguenti impostazioni:

  • Google Cloud project: analytics_dev
  • schema: dataform_sasha
  • nomi delle tabelle: sasha_name, ad esempio sasha_orders.

Quando Kai attiva manualmente l'esecuzione nello spazio di lavoro Kai, Dataform esegue i relativi contenuti con le seguenti impostazioni:

  • Google Cloud project: analytics_dev
  • schema: dataform_kai
  • nomi delle tabelle: kai_name, ad esempio kai_orders

Prima di iniziare

  1. Nella console Google Cloud, vai alla pagina Dataform.

    Vai alla pagina Dataform

  2. Seleziona o crea un repository.

  3. (Facoltativo) Per eseguire l'override del progetto Google Cloud predefinito, concedi all'account di servizio Dataform l'accesso al progetto Google Cloud che prevedi di utilizzare.

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per creare override di compilazione dello spazio di lavoro, chiedi all'amministratore di concederti il ruolo IAM Amministratore di Dataform (roles/dataform.admin) nei repository. Per saperne di più 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.

Creare override di compilazione dell'area di lavoro

Per creare override di compilazione dello spazio di lavoro Dataform:

  1. Nel repository, vai a Impostazioni.
  2. Fai clic su Modifica.
  3. Nel riquadro Override di compilazione dell'area di lavoro, nel campo Google Cloud ID progetto, inserisci l'ID del progetto. Google Cloud
  4. Nel campo Prefisso tabella, inserisci un prefisso per tutti i nomi delle tabelle.
    1. (Facoltativo) Per creare un prefisso tabella dinamico univoco per ogni area di lavoro, inserisci ${workspaceName} come prefisso tabella.
  5. Nel campo Suffisso schema, inserisci un suffisso da aggiungere allo schema della tabella o della vista creata.
    1. (Facoltativo) Per creare un suffisso dello schema dinamico univoco per ogni area di lavoro, inserisci ${workspaceName} come suffisso della tabella.
  6. Fai clic su Salva.

Dataform applica override di compilazione dell'area di lavoro a tutte le aree di lavoro nel tuo repository.

Modificare gli override di compilazione dell'area di lavoro

Per modificare gli override di compilazione dello spazio di lavoro Dataform:

  1. Nel repository, vai a Impostazioni.
  2. Fai clic su Modifica.
  3. Modifica gli override di compilazione dell'area di lavoro e poi fai clic su Salva.

Eliminare gli override di compilazione dello spazio di lavoro

Per eliminare le sostituzioni di compilazione dello spazio di lavoro Dataform:

  1. Nel repository, vai a Impostazioni.
  2. Fai clic su Modifica.
  3. Nel riquadro Override di compilazione dell'area di lavoro, fai clic su Cancella tutto e poi su Salva.

Passaggi successivi