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
inworkflow_settings.yaml
,defaultSchema
indataform.json
o inschema
nel bloccoconfig
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
Nella console Google Cloud, vai alla pagina Dataform.
Seleziona o crea un repository.
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 OggettoCodeCompilationConfig
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 OggettoCodeCompilationConfig
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 OggettoCodeCompilationConfig
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:
- Crea una variabile di compilazione e aggiungila all'elenco selezionato tabelle.
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" } } }
Sostituisci YOUR_VARIABLE con il nome della variabile, ad esempio
executionSetting
.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
- Per eseguire il risultato della compilazione creato da una
compilationResults.create
richiesta, passa l'ID risultato della compilazione restituito RichiestacompilationResults.create
inworkflowInvocations.create
richiesta.
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
- Per scoprire di più su come configurare gli override delle compilazioni in Dataform, consulta Introduzione al codice del ciclo di vita.
- Per scoprire di più sull'API Dataform, consulta API Dataform.
- Scopri come utilizzare la console Google Cloud per configurare gli override delle compilazioni Per tutte le aree di lavoro di un repository, consulta Configurare la compilazione delle aree di lavoro override.