Configura gli override delle compilazioni con l'API Dataform

Questo documento mostra come creare ed eseguire un risultato di compilazione con gli override delle compilazioni mediante l'API Dataform.

Informazioni sugli override della compilazione dell'API Dataform

Per eseguire il flusso di lavoro SQL, Dataform compila il codice in SQL per creare una compilazione di ricerca. Quindi, durante un flusso di lavoro invocazione, Dataform esegue il risultato della compilazione in BigQuery.

Per impostazione predefinita, Dataform utilizza le impostazioni 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 le sostituzioni delle compilazioni.

Passando le richieste dell'API Dataform nel terminale, puoi creare ed eseguire un un singolo risultato di compilazione con override delle compilazioni. Puoi creare un il risultato della compilazione di un'area di lavoro o di un committish Git selezionato.

Per creare un risultato di compilazione con override, devi aumentare il valore API Dataform compilationResults.create richiesta. Nella richiesta, devi specificare un'origine, un Workspace o il commitish Git, per consentire a Dataform di compilare il risultato della compilazione. Nella CodeCompilationConfig della richiesta compilationResults.create, puoi configurare la compilazione override.

Puoi quindi eseguire il risultato della compilazione creato in un API Dataform workflowInvocations.create richiesta.

Puoi configurare i seguenti override di compilazione utilizzando l'API Dataform:

Google Cloud progetto Progetto Google Cloud in cui Dataform esegue risultato della compilazione, impostato in workflow_settings.yaml come defaultProject o in dataform.json come defaultDatabase.

Prefisso tabella
Prefisso personalizzato aggiunto a tutti i nomi delle tabelle nel il risultato della compilazione.
Suffisso schema
Suffisso personalizzato aggiunto allo schema delle tabelle definita in defaultDataset in workflow_settings.yaml, defaultSchema in dataform.json o in schema nel blocco config di una tabella.

Valore di una compilazione variabile Valore di una variabile di compilazione da utilizzare nel risultato della compilazione. Tu lattina usa variabili di compilazione per eseguire le tabelle in modo condizionale.

In alternativa agli override delle compilazioni dell'API Dataform, che puoi utilizzare solo per un risultato di compilazione, puoi configurare gli override della compilazione nella console Google Cloud.

Per scoprire modi alternativi per configurare gli override delle compilazioni in Dataform, consulta Introduzione al codice del ciclo di vita.

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.

Imposta un'origine dei risultati della compilazione

per migliorare l'API Dataform compilationResults.create devi specificare un'origine per il risultato della compilazione.

Puoi impostare un'area di lavoro Dataform o un ramo Git, un tag Git o esegue il commit SHA come origine compilationResults.create richiesta.

Imposta un'area di lavoro come origine dei risultati della compilazione

  • Nella compilationResults.create richiesta, compila la proprietà workspace con il percorso di un Area di lavoro Dataform nel seguente formato:
{
"workspace": "projects/PROJECT_NAME/locations/LOCATION/repositories/REPOSITORY_NAME/workspaces/WORKSPACE_NAME"
}

Sostituisci quanto segue:

  • PROJECT_NAME con il nome del tuo progetto Google Cloud.
  • LOCATION con la località del tuo repository Dataform, nelle impostazioni del flusso di lavoro.
  • REPOSITORY_NAME con il nome del tuo Dataform repository Git.
  • WORKSPACE_NAME con il nome della tua area di lavoro Dataform.

Il seguente esempio di codice mostra la proprietà workspace in Richiesta compilationResults.create impostata su un'area di lavoro denominata "sales-test":

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

Imposta un commitish Git come origine dei risultati della compilazione

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

    {
      "gitCommitish": "GIT_COMMITISH"
    }
    

Sostituisci GIT_COMMITISH con il ramo Git, il tag Git o un eseguendo il commit dell'SHA per il risultato della compilazione.

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

{
  "gitCommitish": "staging"
}

Esegui l'override del progetto Google Cloud predefinito

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

Trasmettere un ID progetto predefinito separato nella richiesta compilationResults.create sostituisce l'ID progetto Google Cloud predefinito file delle impostazioni del flusso di lavoro, ma non sostituisce gli ID progetto Google Cloud configurati in singole tabelle.

  • Per eseguire l'override dell'ID progetto Google Cloud predefinito, imposta defaultDatabase all'ID progetto Google Cloud selezionato nella Oggetto CodeCompilationConfig nel seguente formato:

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

Sostituisci PROJECT_NAME con l'ID del progetto Google Cloud che ti interessa. da impostare per il risultato della compilazione.

Aggiungi un prefisso della 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 nel CodeCompilationConfig nell'API Dataform compilationResults.create richiesta.

  • Per aggiungere un prefisso di tabella, imposta la proprietà tablePrefix nel Oggetto CodeCompilationConfig nel seguente formato:
{
  "codeCompilationConfig": {
    "tablePrefix": "PREFIX",
  }
}

Sostituisci PREFIX con il suffisso che vuoi aggiungere, ad esempio _staging. Ad esempio, se il valore defaultDataset in workflow_settings.yaml è impostato su dataform, Dataform creerà tabelle in Schema dataform_staging.

Aggiungi un suffisso dello schema

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

  • Per aggiungere un suffisso dello schema, imposta la proprietà schemaSuffix nel Oggetto CodeCompilationConfig nel seguente formato:
{
  "codeCompilationConfig": {
    "schemaSuffix": "SUFFIX",
  }
}

Sostituisci SUFFIX con il suffisso che vuoi aggiungere, ad esempio _staging. Ad esempio, se il valore defaultDataset in workflow_settings.yaml è impostato su dataform, Dataform creerà tabelle in Schema dataform_staging.

Nota: CodeCompilationConfig schemaSuffix sostituisce gli schemi configurati nel blocco config di singoli file.

Esegui file selezionati in modo condizionale con variabili di compilazione

Per eseguire una tabella selezionata solo in una specifica impostazione di esecuzione, puoi: crea una variabile di compilazione per l'impostazione di esecuzione e poi passa il suo valore CodeCompilationConfig nell'API Dataform compilationResults.create richiesta.

Eseguire una tabella in modo condizionale in una specifica impostazione di esecuzione utilizzando Per l'API Dataform, segui questi passaggi:

  1. Crea una variabile di compilazione e aggiungila all'elenco selezionato tabelle.
  2. Imposta la coppia chiave-valore YOUR_VARIABLE e VALUE nel codeCompilationConfig blocco di Richiesta di compilazione dell'API Dataform in 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 questa compilazione risultato che soddisfa la when condizione impostata nella selezione per le tabelle.

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

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

Eseguire un risultato di compilazione con override

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

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

Passaggi successivi