Configura le compilazioni

Questo documento mostra come eseguire le seguenti operazioni in Dataform:

Prima di iniziare

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

    Vai a Dataform

  2. Seleziona o crea un repository.

  3. Seleziona o crea un'area di lavoro di sviluppo.

  4. (Facoltativo) Per eseguire l'override del progetto Google Cloud predefinito nella configurazione della release, concedi al tuo account di servizio Dataform l'accesso al progetto che intendi utilizzare.

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per completare le attività descritte in questo documento, chiedi all'amministratore di concederti i seguenti ruoli IAM nei repository:

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.

Introduzione al ciclo di vita del codice in Dataform

Questa sezione descrive il ciclo di vita del codice in Dataform e i modi per configurare la compilazione e l'esecuzione all'interno di Dataform.

Il ciclo di vita del codice Dataform è costituito dalle seguenti fasi:

Sviluppo
Sviluppi un flusso di lavoro in un workspace Dataform.
Compilation

Dataform compila il codice del flusso di lavoro nella tua area di lavoro in SQL in tempo reale, creando un risultato di compilazione dell'area di lavoro che puoi eseguire in BigQuery. Dataform utilizza le impostazioni che definisci nel file di impostazioni del flusso di lavoro per creare il risultato della compilazione.

La compilazione di Dataform è ermetica per garantire la coerenza della compilazione, ovvero che lo stesso codice venga compilato nello stesso risultato di compilazione SQL ogni volta. Dataform compila il codice in un ambiente sandbox senza accesso a internet. Durante la compilazione non sono disponibili azioni aggiuntive, come le chiamate alle API esterne.

Esecuzione

In un'invocazione del workflow, Dataform esegue il risultato della compilazione dello spazio di lavoro in BigQuery.

Per personalizzare il ciclo di vita del codice Dataform in base alle tue esigenze, puoi configurare il risultato della compilazione in modo da influire su dove e come Dataform esegue il flusso di lavoro. Dopodiché, puoi attivare o pianificare manualmente le esecuzioni per decidere quando Dataform deve eseguire l'intero workflow o i suoi elementi selezionati.

Metodi per configurare la compilazione di Dataform

Per impostazione predefinita, Dataform utilizza le impostazioni nel file delle impostazioni del flusso di lavoro per creare i risultati della compilazione. Puoi sostituire le impostazioni predefinite con gli override di compilazione per creare risultati di compilazione personalizzati. Puoi quindi attivare manualmente l'esecuzione di un risultato di compilazione personalizzato o pianificare le esecuzioni.

Dataform fornisce le seguenti opzioni per configurare i risultati della compilazione:

Override di compilazione dello spazio di lavoro
Puoi configurare gli override della compilazione che si applicano a tutte le aree di lavoro in un repository. Puoi utilizzare gli override di compilazione dell'area di lavoro per creare ambienti di sviluppo isolati.
Configurazioni della release
Puoi creare configurazioni di release per configurare i modelli per la creazione dei risultati di compilazione di un repository Dataform. Puoi quindi creare una configurazione del workflow per pianificare le esecuzioni dei risultati di compilazione creati in una configurazione della release selezionata.
Sostituzioni di compilazione dell'API Dataform
Puoi passare le richieste dell'API Dataform nel terminale per creare ed eseguire un singolo risultato di compilazione con sostituzioni di compilazione.

Configura gli override di compilazione dell'area di lavoro

Con gli override della compilazione dell'area di lavoro, puoi creare override della compilazione per tutti gli spazi di lavoro in un repository Dataform. Puoi creare una configurazione di override della compilazione dello spazio di lavoro per ogni repository.

Quando attivi manualmente un'esecuzione in uno spazio di lavoro in un repository con override di compilazione dello spazio di lavoro, Dataform applica questi override al risultato della compilazione dello spazio di lavoro.

Puoi configurare i seguenti override della compilazione dell'area di lavoro:

  • Progetto Google Cloud in cui Dataform esegue i contenuti dello spazio di lavoro
  • Prefisso tabella
  • Suffisso schema

Puoi utilizzare gli override di compilazione dell'area di lavoro per creare ambienti di sviluppo isolati isolando i risultati della compilazione dell'area di lavoro in BigQuery con gli override di compilazione dinamica. Gli override delle compilazioni del prefisso della tabella e del suffisso dello schema dinamico contengono la variabile ${workspaceName}. Quando attivi un'esecuzione in uno spazio di lavoro, Dataform sostituisce la variabile ${workspaceName} con il nome dello spazio di lavoro corrente, creando override di compilazione univoci per lo spazio di lavoro.

Tieni presente che non puoi pianificare le esecuzioni dei risultati della compilazione creati con gli override di compilazione dell'area di lavoro.

Crea configurazioni della release

Con le configurazioni della release, puoi configurare modelli di impostazioni per creare risultati di compilazione dei repository.

In una configurazione della release, puoi configurare gli override della compilazione delle impostazioni del workflow, delle variabili di compilazione e della frequenza di creazione dei risultati della compilazione dell'intero repository.

In una configurazione della release, puoi configurare i seguenti override della compilazione:

Puoi creare più configurazioni di release in un repository Dataform, una per ogni fase del ciclo di vita di sviluppo, creando risultati di compilazione del repository isolati.

Puoi quindi creare configurazioni del flusso di lavoro per pianificare le esecuzioni dei risultati di compilazione creati in una configurazione di release selezionata.

Puoi anche attivare manualmente l'esecuzione di un risultato di compilazione in una configurazione di release selezionata.

Configurare un singolo risultato di compilazione con le sostituzioni di compilazione dell'API Dataform

Passando le richieste dell'API Dataform nel terminale, puoi configurare le sostituzioni di compilazione per un singolo risultato di compilazione.

Nella richiesta compilationResults.create puoi creare un singolo risultato di compilazione di uno spazio di lavoro Dataform o di un committish Git specificato.

Nell'oggetto CodeCompilationConfig della richiesta compilationResults.create, puoi configurare le sostituzioni della compilazione per la richiesta di compilazione.

Puoi configurare i seguenti override di compilazione dell'API Dataform:

Tieni presente che le sostituzioni della compilazione dell'API Dataform si applicano a un singolo risultato di compilazione e a una singola esecuzione. Non puoi utilizzarli per pianificare le esecuzioni di Dataform.

Puoi eseguire un risultato di compilazione nella richiesta workflowInvocations.create.

Metodi per configurare l'esecuzione di Dataform

Dataform fornisce le seguenti opzioni per configurare l'esecuzione:

Esecuzione manuale in uno spazio di lavoro
Puoi attivare manualmente l'esecuzione istantanea di un workflow in uno spazio di lavoro Dataform, al di fuori di qualsiasi pianificazione. Puoi eseguire alcune azioni nel flusso di lavoro.
Configurazioni dei flussi di lavoro
Puoi pianificare le esecuzioni dei risultati della compilazione creati in una configurazione di release selezionata. Puoi selezionare le azioni di flusso di lavoro da eseguire e impostare la frequenza e il fuso orario delle esecuzioni.

Attivare l'esecuzione istantanea in uno spazio di lavoro

In uno spazio di lavoro Dataform, puoi attivare manualmente l'esecuzione immediata di un flusso di lavoro al di fuori di qualsiasi pianificazione.

Puoi eseguire manualmente i seguenti elementi del flusso di lavoro nello spazio di lavoro:

Se il tuo repository contiene override della compilazione dell'area di lavoro, puoi visualizzare gli override della compilazione che Dataform applicherà al risultato della compilazione dell'area di lavoro.

Creare configurazioni dei workflow

Con le configurazioni dei flussi di lavoro, puoi pianificare le esecuzioni dei risultati di compilazione da una configurazione di release selezionata. Puoi creare più configurazioni del flusso di lavoro in un repository Dataform.

In una configurazione del workflow, puoi configurare le seguenti impostazioni di esecuzione:

  • Configurazione della release di compilazione applicata.
  • Selezione delle azioni del workflow da eseguire.
  • Pianificazione e fuso orario delle esecuzioni.

Puoi selezionare le seguenti azioni di flusso di lavoro da eseguire:

  • Tutte le azioni
  • Azioni selezionate
  • Azioni con i tag selezionati

Poi, durante un'esecuzione pianificata della configurazione del workflow, Dataform esegue il deployment della selezione di azioni dal risultato della compilazione applicata a BigQuery.

Le configurazioni delle release e dei flussi di lavoro di Dataform ti consentono di configurare la compilazione e pianificare le esecuzioni in Dataform senza dover fare affidamento su servizi aggiuntivi.

Scadenza delle risorse del ciclo di vita

Dataform memorizza i risultati della compilazione e le chiamate dei flussi di lavoro per un periodo di tempo specifico.

Scadenza delle invocazioni del flusso di lavoro

Le chiamate di workflow scadono dopo 90 giorni o quando le elimini manualmente.

In una configurazione del flusso di lavoro, puoi visualizzare un elenco delle invocazioni del flusso di lavoro più recenti create dalla configurazione. Quando un'invocazione del flusso di lavoro creata da una configurazione del flusso di lavoro scade, Dataform la rimuove dall'elenco delle invocazioni recenti.

Scadenza dei risultati della compilazione

La scadenza dei risultati di compilazione dipende dal fatto che siano stati creati in uno spazio di lavoro di sviluppo, in una configurazione di release o tramite un'invocazione del flusso di lavoro.

Quando sviluppi un flusso di lavoro in uno spazio di lavoro Dataform, Dataform compila il codice in un risultato di compilazione in tempo reale per fornire la convalida delle query. I risultati della compilazione creati in questo modo scadono dopo 24 ore.

In una configurazione della release, l'ultimo risultato di compilazione diventa il risultato di compilazione in produzione. Un nuovo risultato della compilazione sostituisce il risultato della compilazione in tempo reale corrente. Dataform conserva il risultato della compilazione in tempo reale fino a quando non viene sostituito da un nuovo risultato di compilazione. Il risultato di una compilazione sostituita scade dopo massimo 24 ore.

Dataform rimuove i risultati di compilazione scaduti dall'elenco dei risultati di compilazione passati nella pagina Dettagli di una configurazione di release.

Dataform conserva i risultati di compilazione creati dalle invocazioni del flusso di lavoro per l'intera durata dell'invocazione, fino a 24 ore dopo la scadenza o l'eliminazione dell'invocazione del flusso di lavoro.

Creare override di compilazione dell'area di lavoro

Le sezioni seguenti mostrano come creare override di compilazione dell'area di lavoro per isolare le tabelle e le visualizzazioni 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.

Quando sviluppi il codice del flusso di lavoro 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 dell'area 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
Il 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
Il prefisso personalizzato aggiunto a tutti i nomi delle tabelle in tutte le aree di lavoro del repository.
Suffisso schema
Il suffisso personalizzato aggiunto allo schema delle tabelle. 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:

  • ID progetto Google Cloud: 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:

  • Progetto Google Cloud: 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:

  • Progetto Google Cloud: analytics_dev
  • Schema: dataform_kai
  • Nomi delle tabelle: kai_name, ad esempio kai_orders

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, inserisci l'ID del progetto nel campo ID 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 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.

Configurare gli override della compilazione con l'API Dataform

Questa sezione mostra come creare ed eseguire un risultato di compilazione con le sostituzioni di compilazione utilizzando l'API Dataform.

Informazioni sulle sostituzioni di compilazione dell'API Dataform

Per eseguire il flusso di lavoro, Dataform compila il codice in SQL per creare un risultato di compilazione. Poi, durante un'invocazione del workflow, Dataform esegue il risultato della compilazione in BigQuery.

Per impostazione predefinita, Dataform utilizza le impostazioni nel file delle impostazioni del flusso di lavoro per creare il risultato della compilazione. Per isolare i dati eseguiti in fasi diverse del ciclo di vita dello sviluppo, puoi eseguire l'override delle impostazioni predefinite con gli override di compilazione.

Passando le richieste dell'API Dataform nel terminale, puoi creare ed eseguire un singolo risultato di compilazione con sostituzioni di compilazione. Puoi creare un risultato di compilazione di uno spazio di lavoro o di un commit Git selezionato.

Per creare un risultato di compilazione con sostituzioni di compilazione, devi inviare la richiesta compilationResults.create dell'API Dataform. Nella richiesta, devi specificare un'origine, che deve essere uno spazio di lavoro o un commit Git, perché Dataform venga compilato nel risultato della compilazione. Nell'oggetto CodeCompilationConfig della richiesta compilationResults.create, puoi configurare le sostituzioni di compilazione.

Puoi quindi eseguire il risultato della compilazione creato in una richiesta workflowInvocations.create dell'API Dataform.

Puoi configurare le seguenti sostituzioni di compilazione utilizzando l'API Dataform:

Progetto Google Cloud
Il progetto in cui Dataform esegue il risultato della compilazione, impostato nel file workflow_settings.yaml come proprietà defaultProject o nel file dataform.json come proprietà defaultDatabase.
Prefisso tabella
Il prefisso personalizzato aggiunto a tutti i nomi delle tabelle nel risultato della compilazione.
Suffisso schema
Il suffisso personalizzato aggiunto allo schema delle tabelle definito nella proprietà defaultDataset del file workflow_settings.yaml, nella proprietà defaultSchema del file dataform.json o nel parametro schema nel blocco config di una tabella.
Valore di una variabile di compilazione
Il valore di una variabile di compilazione da utilizzare nel risultato della compilazione. Puoi utilizzare le variabili di compilazione per eseguire le tabelle in modo condizionale.

In alternativa alle sostituzioni di compilazione dell'API Dataform, che puoi utilizzare solo per un risultato di compilazione, puoi configurare le sostituzioni di compilazione dello spazio di lavoro nella console Google Cloud.

Per scoprire metodi alternativi per configurare le sostituzioni di compilazione in Dataform, consulta Introduzione al ciclo di vita del codice.

Impostare un'origine del risultato della compilazione

Per inviare la richiesta dell'API Dataform compilationResults.create, devi specificare un'origine per il risultato della compilazione.

Puoi impostare uno spazio di lavoro Dataform o un ramo Git, un tag Git o un SHA commit Git come origine nella richiesta compilationResults.create.

Impostare uno spazio di lavoro come origine del risultato della compilazione

  • Nella richiesta compilationResults.create, compila la proprietà workspace con il percorso di uno spazio di lavoro Dataform selezionato nel seguente formato:

    {
    "workspace": "projects/PROJECT_NAME/locations/LOCATION/repositories/REPOSITORY_NAME/workspaces/WORKSPACE_NAME"
    }
    

    Sostituisci quanto segue:

    • PROJECT_NAME: il nome del tuo progetto Google Cloud.
    • LOCATION: la posizione del repository Dataform, impostata nelle impostazioni del flusso di lavoro.
    • REPOSITORY_NAME: il nome del repository Dataform.
    • WORKSPACE_NAME: il nome dello spazio di lavoro Dataform.

Il seguente esempio di codice mostra la proprietà workspace nella richiesta compilationResults.create impostata su uno spazio di lavoro denominato "sales-test":

{
"workspace": "projects/analytics/locations/europe-west4/repositories/sales/workspaces/sales-test"
}

Impostare un commitish Git come origine del risultato della compilazione

  • Nella richiesta compilationResults.create, compila la proprietà gitCommitish con il branch, il tag o la SHA del commit Git selezionato nel seguente formato:

    {
      "gitCommitish": "GIT_COMMITISH"
    }
    

    Sostituisci GIT_COMMITISH con il branch Git, il tag Git o un SHA del commit Git selezionato per il risultato della compilazione.

Il seguente esempio di codice mostra la proprietà gitCommitish nella compilationResults.create richiesta impostata su "staging":

{
  "gitCommitish": "staging"
}

Sostituire il progetto predefinito

Per creare tabelle di staging o di produzione in un progetto Google Cloud separato da quello utilizzato per lo sviluppo, puoi passare un ID progetto diverso nell'oggetto CodeCompilationConfig nella richiesta compilationResults.create dell'API Dataform.

Se nella richiesta compilationResults.create viene passato un ID progetto predefinito distinto, viene eseguito l'override dell'ID progetto predefinito configurato nel file delle impostazioni di flusso di lavoro, ma non degli ID progetto configurati nelle singole tabelle.

  • Per eseguire l'override dell'ID progetto predefinito, imposta la proprietà defaultDatabase sull'ID progetto selezionato nell'oggetto CodeCompilationConfig nel seguente formato:

    {
      "codeCompilationConfig": {
        "defaultDatabase": "PROJECT_NAME"
      }
    }
    

    Sostituisci PROJECT_NAME con l'ID progetto che vuoi impostare per il risultato della compilazione.

Aggiungere un prefisso alla tabella

Per identificare rapidamente le tabelle dal risultato della compilazione, puoi aggiungere un prefisso a tutti i nomi delle tabelle nel risultato della compilazione passando il prefisso della tabella nell'oggetto CodeCompilationConfig nella richiesta dell'API Dataform compilationResults.create.

  • Per aggiungere un prefisso di tabella, imposta la proprietà tablePrefix nell'oggetto CodeCompilationConfig nel seguente formato:

    {
      "codeCompilationConfig": {
        "tablePrefix": "PREFIX",
      }
    }
    

    Sostituisci PREFIX con il prefisso da aggiungere, ad esempio staging.

    Ad esempio, se il nome della tabella è table_name, Dataform crea tabelle con il nome staging_table_name.

Aggiungere un suffisso allo schema

Per separare i dati di sviluppo, di staging e di produzione, puoi aggiungere un suffisso agli schemi in un risultato di compilazione passando il suffisso dello schema nell'oggetto CodeCompilationConfig nella richiesta compilationResults.create dell'API Dataform.

  • Per aggiungere un suffisso allo schema, imposta la proprietà schemaSuffix nell'oggetto CodeCompilationConfig nel seguente formato:

    {
      "codeCompilationConfig": {
        "schemaSuffix": "SUFFIX",
      }
    }
    

    Sostituisci SUFFIX con il suffisso da aggiungere, ad esempio _staging.

    Ad esempio, se la proprietà defaultDataset nel workflow_settings.yaml file è impostata su dataform, Dataform crea tabelle nello schema dataform_staging.

Esegui i file selezionati in modo condizionale con le variabili di compilazione

Per eseguire una tabella selezionata solo in un'impostazione di esecuzione specifica, puoi creare una variabile di compilazione per l'impostazione di esecuzione e poi passare il relativo valore nell'oggetto CodeCompilationConfig nella richiesta dell'API Dataform compilationResults.create.

Per eseguire una tabella in modo condizionale in un'impostazione di esecuzione specifica utilizzando l'API Dataform:

  1. Crea una variabile di compilazione e aggiungila alle tabelle selezionate.
  2. Imposta la coppia chiave-valore YOUR_VARIABLE e VALUE nel blocco codeCompilationConfig di una richiesta di compilazione dell'API Dataform nel seguente formato:

    {
      "codeCompilationConfig": {
        "vars": {
          "YOUR_VARIABLE": "VALUE"
        }
      }
    }
    
  3. Sostituisci YOUR_VARIABLE con il nome della variabile, ad esempio executionSetting.

  4. Sostituisci VALUE con il valore della variabile per questo risultato di compilazione che soddisfa la condizione when impostata nelle tabelle selezionate.

Il seguente esempio di codice mostra la variabile executionSetting passata a una richiesta di compilazione dell'API Dataform:

{
  "gitCommitish": "staging",
  "codeCompilationConfig": {
    "vars": {
      "executionSetting": "staging"
    }
  }
}

Eseguire un risultato della compilazione con override della compilazione

Il seguente esempio di codice mostra un ID risultato di compilazione passato in una richiesta workflowInvocations.create:

{
  "compilationResult": "projects/my-project-name/locations/europe-west4/repositories/my-repository-name/compilationResults/7646b4ed-ac8e-447f-93cf-63c43249ff11"
}

Crea una configurazione di release

Le sezioni seguenti mostrano come creare una configurazione della release in Dataform per configurare i modelli di impostazioni di compilazione, che puoi eseguire in base a una pianificazione. Puoi utilizzare le configurazioni di release per configurare gli ambienti di esecuzione, ad esempio gestione temporanea e produzione.

Per eseguire i workflow in BigQuery, Dataform compila il codice del flusso di lavoro SQL in un risultato di compilazione. Questa procedura viene eseguita automaticamente quando sviluppi un workflow in un'area di lavoro Dataform.

Le configurazioni di release ti consentono di personalizzare i risultati di compilazione. Puoi utilizzarle per creare ambienti di esecuzione, ad esempio la gestione temporanea.

Impostazioni di configurazione della release

In una configurazione della release, puoi configurare gli override di compilazione delle impostazioni del flusso di lavoro, impostare le variabili di compilazione e la frequenza di creazione dei risultati di compilazione.

Una configurazione della release Dataform contiene le seguenti impostazioni di compilazione:

Impostazioni di release
L'ID della release, il commitish Git per i risultati di compilazione e la frequenza di creazione dei risultati di compilazione. La frequenza è un'impostazione facoltativa. Se impostato, la frequenza minima è 1 ora.
Override delle compilazioni
Sostituzioni del progetto Google Cloud, del prefisso della tabella, del suffisso dello schema e delle variabili di compilazione definite nelle impostazioni del flusso di lavoro.

Come funziona una configurazione della release

Dataform crea i risultati di compilazione da una configurazione della release con la frequenza specificata o quando attivi la compilazione. La frequenza è un'impostazione facoltativa e non è necessaria per creare una configurazione della release. Se impostato, la frequenza minima è 1 ora. Puoi attivare manualmente la compilazione nella pagina Dettagli della configurazione della release, o attivare la compilazione con il metodo releaseConfigs dell'API Dataform.

Durante la compilazione, Dataform esegue il pull del codice dal commitish Git specificato del tuo repository. Quindi, Dataform compila il codice con le sostituzioni di compilazione applicate (se presenti) e crea il risultato della compilazione. L'ultimo risultato di compilazione creato per la configurazione della release è il risultato della compilazione in tempo reale.

Puoi pianificare le esecuzioni dei risultati di compilazione dalle configurazioni della release in configurazioni dei flussi di lavoro. Puoi anche eseguire una configurazione di release selezionata al di fuori di qualsiasi pianificazione. Durante l'esecuzione di una configurazione del flusso di lavoro, Dataform esegue il risultato della compilazione in tempo reale dalla configurazione della release selezionata.

Crea una configurazione di release

Per creare una configurazione di release di Dataform:

  1. Nel repository, vai a Uscite e pianificazione.
  2. Nella sezione Configurazioni della release, fai clic su Crea.
  3. Nel riquadro Crea configurazione della release, configura le impostazioni della release.

    1. Nel campo ID release, inserisci un ID univoco per la configurazione della release.

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

    2. Nel campo Commitish Git, inserisci il branch Git o l'SHA del commit Git per la release.

      In un repository Dataform non collegato a un repository remoto, il valore è sempre main.

    3. (Facoltativo) Nell'elenco Frequenza, seleziona la frequenza con cui creare i risultati della compilazione.

      Se impostato, la frequenza minima è 1 ora.

  4. (Facoltativo) Nella sezione Sostituzioni di compilazione, configura le impostazioni di compilazione.

    1. Nel campo ID progetto Google Cloud, inserisci l'ID del progetto Google Cloud in cui vuoi memorizzare il risultato della compilazione.
    2. Nel campo Suffisso schema, inserisci un suffisso da aggiungere allo schema configurato nelle impostazioni del flusso di lavoro.
    3. Nel campo Prefisso tabella, inserisci un prefisso per tutti i nomi delle tabelle.
  5. (Facoltativo) Nella sezione Variabili di compilazione, imposta le variabili di compilazione.

    1. Fai clic su Aggiungi variabile.
    2. Nel campo Chiave, inserisci la variabile di compilazione.
    3. Nel campo Valore, inserisci il valore per la variabile di compilazione.
    4. Per aggiungere un'altra variabile di compilazione, fai clic su Aggiungi variabile.
  6. Fai clic su Crea.

Se sostituisci il progetto predefinito, assicurati che il tuo account di servizio Dataform abbia accesso al progetto impostato nella configurazione della release.

Ad esempio, la seguente configurazione della release crea un risultato di compilazione production del ramo main ogni ora, senza alcun override di compilazione:

  • ID release: production
  • Commitish di Git: main
  • Frequenza: ogni ora
  • Nessun override di compilazione

Visualizzare i dettagli di una configurazione di release

Puoi visualizzare i seguenti dettagli di una configurazione della release:

  • Impostazioni di release
    • Commitish Git
    • Timestamp del risultato di compilazione più recente
    • Pianificazione cron
    • Override delle compilazioni
    • Variabili di compilazione
  • Risultato della compilazione in tempo reale
    • Timestamp creazione
    • Commitish Git
    • SHA del commit
  • Risultati di compilazione precedenti

Per visualizzare i dettagli di una configurazione di release:

  1. Nel repository, vai a Uscite e pianificazione.
  2. Seleziona una configurazione della release.
  3. Nella pagina Dettagli di configurazione della release, controlla i dettagli della configurazione della release.

La tabella Risultati della compilazione pianificata mostra i risultati di compilazione passati creati automaticamente dalla configurazione della release.

La tabella Risultati di compilazione manuale/API mostra i risultati di compilazione creati manualmente o tramite chiamate all'API Dataform tra i 1000 risultati di compilazione più recenti nel repository.

Attivare manualmente la compilazione

Per creare manualmente un risultato di compilazione da una configurazione di release selezionata:

  1. Nel repository, vai a Uscite e pianificazione.
  2. Seleziona una configurazione della release.
  3. Nella pagina Dettagli configurazione release, fai clic su Nuova compilazione.

Il risultato della compilazione appena creato diventa il risultato in tempo reale per la configurazione della release.

I risultati della compilazione manuale vengono visualizzati nella tabella Risultati di compilazione manuale/API della pagina Dettagli configurazione release.

Attivare l'esecuzione di una configurazione della release

Per attivare l'esecuzione del risultato della compilazione in tempo reale in una configurazione di release selezionata in BigQuery:

  1. Nel repository, vai a Uscite e pianificazione.
  2. Nella sezione Configurazioni della release, fai clic su Avvia esecuzione.
  3. Nel riquadro Esegui flusso di lavoro manuale, nell'elenco Configurazione release, seleziona una configurazione release.
  4. Seleziona le azioni del flusso di lavoro da eseguire:
    1. Per eseguire l'intero flusso di lavoro, fai clic su Tutte le azioni.
    2. Per eseguire le azioni selezionate nel flusso di lavoro, fai clic su Selezione di azioni e poi seleziona le azioni.
    3. Per eseguire azioni con i tag selezionati, fai clic su Selezione di tag e poi seleziona i tag.
  5. (Facoltativo) Per eseguire le azioni o i tag selezionati e le relative dipendenze, seleziona l'opzione Includi dipendenze.
  6. (Facoltativo) Per eseguire le azioni o i tag selezionati e i relativi elementi dipendenti, seleziona l'opzione Includi elementi dipendenti.
  7. (Facoltativo) Per ricostruire tutte le tabelle da zero, seleziona l'opzione Esegui con aggiornamento completo.

    Senza questa opzione, Dataform aggiorna le tabelle incrementali senza ricostruirle da zero.

  8. Fai clic su Avvia esecuzione.

Modificare una configurazione della release

Per modificare una configurazione di release:

  1. Nel repository, vai a Uscite e pianificazione.
  2. Accanto alla configurazione della release che vuoi modificare, fai clic sul menu Altro e poi su Modifica.
  3. Nel riquadro Modifica configurazione della release, modifica le impostazioni della configurazione della release e poi fai clic su Salva.

Eliminare una configurazione di release

Per eliminare una configurazione di release:

  1. Nel repository, vai a Uscite e pianificazione.
  2. Accanto alla configurazione della release che vuoi eliminare, fai clic sul menu Altro e poi su Elimina.
  3. Nella finestra di dialogo Elimina configurazione della release, fai clic su Elimina.

Passaggi successivi