Nella versione precedente di Dataform, venivano definiti ambienti e pianificazioni insieme nel file environments.json
.
Il seguente esempio di codice mostra le definizioni degli ambienti production
e staging
e le pianificazioni corrispondenti in un file environments.json
della versione precedente di Dataform:
// example of an environments.json file
{
"environments": [
{
"name": "production",
"configOverride": {},
"schedules": [
{
"name": "daily",
"cron": "30 14 * * *",
"tags": [
"daily"
]
},
{
"name": "hourly",
"cron": "*/5 * * * *",
"disabled": false
}
],
"gitRef": "master"
},
{
"name": "staging",
"configOverride": {
"schemaSuffix": "staging"
},
"schedules": [
{
"name": "daily (all)",
"cron": "42 16 * * mon,tue,wed,thu,fri,sat,sun"
}
],
"gitRef": "master"
}
]
}
In Dataform in Google Cloud, la configurazione di ambienti e pianificazioni è suddivisa in due esperienze:
- Configurazioni di release
- Simile agli ambienti Dataform legacy, utilizzati per configurare le impostazioni di compilazione per diversi ambienti, ad esempio
staging
eproduction
.
Le configurazioni di release consentono di configurare gli override del commitish di Git e della compilazione per personalizzare la creazione dei risultati di compilazione. Dataform crea risultati di compilazione dalle configurazioni di release indipendentemente dalle pianificazioni di configurazione del flusso di lavoro. Ciò significa che le esecuzioni pianificate dei risultati di compilazione delle configurazioni di release possono essere eseguite anche se il provider Git remoto non è disponibile.
Quando crei una configurazione della release, puoi impostare la frequenza di creazione dei risultati di compilazione. Puoi anche creare un risultato di compilazione da una configurazione di release manualmente o in un processo di deployment continuo automatizzato.
- Configurazioni del flusso di lavoro
- Equivalente delle pianificazioni Dataform legacy, utilizzate per pianificare le esecuzioni dei risultati di compilazione delle configurazioni di release.
Innanzitutto, devi creare una configurazione di release e definire le impostazioni di compilazione per un ambiente selezionato, ad esempio staging
. Quindi, crea una configurazione del flusso di lavoro e definisci la pianificazione dell'esecuzione dei risultati della compilazione staging
.
Modalità di migrazione di ambienti e pianificazioni
Puoi eseguire la migrazione di ambienti e pianificazioni legacy alle configurazioni di rilascio e alle configurazioni dei flussi di lavoro nei seguenti modi:
- Configura configurazioni di release e flusso di lavoro in Dataform
Ricrea gli ambienti come configurazioni di release e pianificazioni come configurazioni dei flussi di lavoro all'interno di Dataform in Google Cloud.
- Configura configurazioni di release e flusso di lavoro con l'API Dataform
Utilizza l'API Dataform per configurare le configurazioni di release e le configurazioni del flusso di lavoro.
In alternativa, puoi eseguire la migrazione di ambienti e pianificazioni legacy nei modi seguenti:
- Applica la configurazione personalizzata a
environments.json
tramite l'API Dataform - Puoi conservare il file
environments.json
nel tuo repository e configurare un processo di deployment continuo con lo strumento che preferisci. Nel processo di deployment continuo, aggiorna le configurazioni di release e le configurazioni del flusso di lavoro dal fileenvironment.json
al momento dell'unione al ramo predefinito. - Bypassa le configurazioni di release e flusso di lavoro
- Puoi bypassare le configurazioni di release e dei flussi di lavoro e utilizzare l'interfaccia a riga di comando Dataform open source, l'API Dataform o l'API Dataform insieme a Cloud Composer o Workflows per compilare il tuo repository ed eseguire flussi di lavoro.
Esegui la migrazione degli avvisi del flusso di lavoro
Dataform fornisce Cloud Logging per le chiamate dei flussi di lavoro. Questi log contengono le informazioni che possono essere utili per il monitoraggio e il debug dei flussi di lavoro:
receiveTimestamp
release_config_id
repository_id
resource_container
workflow_invocation_id
workflow_config_id
severity
: può essereINFO
,WARNING
oERROR
terminalState
: può essereSUCCEEDED
,CANCELED
oFAILED
timestamp
@type
Puoi utilizzare Cloud Logging insieme a Cloud Monitoring per configurare avvisi simili a quelli legacy.
Con Cloud Monitoring puoi configurare le metriche e gli avvisi seguenti:
- Metriche basate su log, che puoi utilizzare come segue:
- a creare criteri di avviso per ricevere notifiche relative alle modifiche apportate nel tempo.
- Per creare grafici che mostrano le variazioni nel tempo.
- Avvisi basati su log, che ti avvisano ogni volta che un evento specifico viene visualizzato in un log.
Per ulteriori informazioni, consulta Visualizzare Cloud Logging per Dataform
Passaggi successivi
- Per informazioni su come creare configurazioni di release, consulta Creare una configurazione di release.
- Per scoprire come creare configurazioni del flusso di lavoro, consulta Pianificare le esecuzioni con le configurazioni del flusso di lavoro.
- Per saperne di più sul ciclo di vita del codice in Dataform, consulta Introduzione al ciclo di vita del codice in Dataform.
- Per scoprire come eseguire la migrazione dalla versione legacy di Dataform a Dataform in Google Cloud, consulta Eseguire la migrazione dalla versione precedente di Dataform.