Managed Airflow (terza generazione) | Managed Airflow (seconda generazione) | Managed Airflow (prima generazione legacy)
Questa pagina spiega come configurare una policy di conservazione per il database Airflow, in modo che i record precedenti vengano rimossi automaticamente, contribuendo a mantenere le dimensioni del database Airflow.
La policy di conservazione del database è disponibile solo in Managed Airflow (terza generazione).
Informazioni sulla conservazione del database
Con il passare del tempo, il database Airflow del tuo ambiente memorizza sempre più dati. Questi dati includono informazioni e log relativi alle esecuzioni di DAG, alle attività e ad altre operazioni di Airflow precedenti.
Se imposti un periodo di conservazione per il database Airflow nel tuo ambiente:
- Managed Airflow rimuove i record relativi alle esecuzioni di DAG e alle sessioni utente precedenti al periodo di tempo specificato.
- Le informazioni sull'esecuzione di DAG più recenti vengono sempre conservate, anche dopo che il periodo di conservazione è trascorso per i record correlati.
- Il periodo di conservazione predefinito è di 60 giorni. Puoi impostare un periodo di conservazione personalizzato da 30 a 730 giorni.
Le operazioni di conservazione del database funzionano nel seguente modo:
Per impostazione predefinita, la conservazione del database è abilitata. Puoi abilitarla o disabilitarla per un ambiente nuovo o esistente. Il periodo di conservazione predefinito è di 60 giorni.
Un'operazione di pulizia viene eseguita automaticamente almeno una volta entro 24 ore dall'abilitazione della conservazione del database. Non è possibile impostare una pianificazione personalizzata per questa operazione. Managed Airflow non esegue l'operazione di pulizia immediatamente dopo l'abilitazione della conservazione del database o la modifica del periodo di conservazione.
L'operazione di pulizia non blocca le tabelle del database Airflow e mantiene la coerenza dei dati anche se viene interrotta.
Non è possibile ridurre le dimensioni di archiviazione di Cloud SQL tramite le operazioni di conservazione del database dopo che sono state aumentate. Le operazioni di conservazione del database aiutano solo a impedire che il database Airflow aumenti nel tempo. Per saperne di più, consulta il problema noto corrispondente.
Prima di iniziare
- Se il tuo ambiente esegue il DAG di pulizia del database in base a una pianificazione, puoi interrompere il DAG dopo aver configurato la policy di conservazione del database. L'approccio DAG di manutenzione è obsoleto in Managed Airflow (terza generazione). Questo DAG esegue un lavoro ridondante e puoi ridurre il consumo di risorse interrompendolo.
Configurare la conservazione del database per un nuovo ambiente
Per abilitare o disabilitare la conservazione del database o impostare un periodo di conservazione personalizzato del database quando crei un ambiente:
Console
Nella pagina Crea ambiente:
Nella sezione Policy di conservazione dei dati del database, configura la conservazione del database:
(Impostazione predefinita) Per abilitare la conservazione del database, seleziona Abilita la policy di conservazione dei dati del database.
Per disabilitare la conservazione del database, seleziona Disabilita la policy di conservazione dei dati del database.
(Facoltativo) Per impostare un periodo di conservazione personalizzato, nel campo Periodo di conservazione, specifica un periodo di conservazione compreso tra 30 e 730 giorni.
gcloud
Quando crei un ambiente, l'argomento --airflow-database-retention-days abilita la conservazione del database e specifica il periodo di conservazione, in giorni.
Questo argomento deve essere sempre specificato in modo esplicito:
- Un valore di
0disabilita la conservazione del database. - Specifica
60per utilizzare il valore predefinito. - Specifica un valore per impostare un periodo di conservazione del database personalizzato compreso tra 30 e 730 giorni.
gcloud composer environments create ENVIRONMENT_NAME \
--location LOCATION \
--image-version composer-3-airflow-2.11.1-build.5 \
--airflow-database-retention-days RETENTION_PERIOD
Sostituisci quanto segue:
ENVIRONMENT_NAME: il nome del tuo ambiente.LOCATION: la regione in cui si trova l'ambiente.RETENTION_PERIOD: un valore personalizzato per il periodo di conservazione.
Esempio:
gcloud composer environments create example-environment \
--location us-central1 \
--airflow-database-retention-days 60
API
Quando crei un ambiente, nella risorsa Environment > EnvironmentConfig > [DataRetentionConfig][api-res-data-retention-config] > AirflowMetadataRetentionPolicyConfig, specifica i parametri di conservazione del database:
{
"name": "projects/PROJECT_ID/locations/LOCATION/environments/ENVIRONMENT_NAME",
"config": {
"dataRetentionConfig": {
"airflowMetadataRetentionConfig": {
"retentionMode": "RETENTION_MODE_ENABLED",
"retentionDays": "RETENTION_PERIOD"
}
}
}
}
Sostituisci quanto segue:
ENVIRONMENT_NAME: il nome del tuo ambiente.LOCATION: la regione in cui si trova l'ambiente.RETENTION_PERIOD: un valore personalizzato per il periodo di conservazione compreso tra 30 e 730 giorni.
Esempio:
// POST https://composer.googleapis.com/v1/{parent=projects/*/locations/*}/environments
{
"name": "projects/example-project/locations/us-central1/environments/example-environment",
"config": {
"dataRetentionConfig": {
"airflowMetadataRetentionConfig": {
"retentionMode": "RETENTION_MODE_ENABLED",
"retentionDays": "90"
}
}
}
}
Terraform
Quando crei un ambiente, il blocco airflow_metadata_retention_config
in data_retention_config specifica i parametri di conservazione del database:
Il campo
retention_modespecifica la modalità di conservazione del database:- (Impostazione predefinita)
RETENTION_MODE_ENABLEDabilita la conservazione del database. RETENTION_MODE_DISABLEDdisabilita la conservazione del database.
- (Impostazione predefinita)
(Facoltativo)
retention_daysspecifica un periodo di conservazione personalizzato. Il valore predefinito è 60 giorni.
resource "google_composer_environment" "example" {
provider = google-beta
name = "ENVIRONMENT_NAME"
region = "LOCATION"
config {
data_retention_config {
airflow_metadata_retention_config {
retention_mode = "RETENTION_MODE"
retention_days = RETENTION_PERIOD
}
}
}
}
Sostituisci quanto segue:
ENVIRONMENT_NAME: il nome del tuo ambiente.LOCATION: la regione in cui si trova l'ambiente.RETENTION_MODE: modalità di conservazione del database (RETENTION_MODE_ENABLEDoRETENTION_MODE_DISABLED).RETENTION_PERIOD: un valore personalizzato per il periodo di conservazione compreso tra 30 e 730 giorni.
Esempio:
resource "google_composer_environment" "example" {
provider = google-beta
name = "example-environment"
region = "us-central1"
config {
data_retention_config {
airflow_metadata_retention_config {
retention_mode = "RETENTION_MODE_ENABLED"
retention_days = 90
}
}
Configurare la conservazione del database per un ambiente esistente
Per abilitare o disabilitare la conservazione del database per un ambiente esistente e impostare un periodo di conservazione personalizzato:
Console
Nella Google Cloud console, vai alla pagina Ambienti.
Nell'elenco degli ambienti, fai clic sul nome del tuo ambiente. Si apre la pagina Dettagli ambiente.
Vai alla scheda Configurazione ambiente.
L'elemento Policy di conservazione dei dati del database elenca la policy di conservazione dei dati del database corrente del tuo ambiente.
Fai clic su Modifica.
Imposta lo stato di conservazione del database:
Per abilitare la conservazione del database, seleziona Abilita la policy di conservazione dei dati del database.
Per disabilitare la conservazione del database, deseleziona Abilita la policy di conservazione dei dati del database.
(Facoltativo) Per impostare un periodo di conservazione personalizzato, nel campo Periodo di conservazione, specifica un periodo di conservazione compreso tra 30 e 730 giorni.
gcloud
L'argomento --airflow-database-retention-days abilita la conservazione del database e specifica il periodo di conservazione, in giorni. Un valore di 0 disabilita la conservazione del database.
gcloud composer environments update ENVIRONMENT_NAME \
--airflow-database-retention-days RETENTION_PERIOD
Sostituisci quanto segue:
ENVIRONMENT_NAME: il nome del tuo ambiente.LOCATION: la regione in cui si trova l'ambiente.RETENTION_PERIOD: un valore personalizzato per il periodo di conservazione compreso tra 30 e 730 giorni.
Esempio:
gcloud composer environments update example-environment \
--location us-central1 \
--airflow-database-retention-days 60
API
Crea una richiesta API
environments.patch.In questa richiesta:
Nel parametro
updateMask, specifica la mascheraconfig.dataRetentionConfig.airflowMetadataRetentionConfig.Nel corpo della richiesta, specifica i parametri di conservazione del database.
{
"config": {
"dataRetentionConfig": {
"airflowMetadataRetentionConfig": {
"retentionMode": "RETENTION_MODE",
"retentionDays": "RETENTION_PERIOD"
}
}
}
}
Sostituisci:
RETENTION_MODE:RETENTION_MODE_ENABLEDabilita la conservazione del database,RETENTION_MODE_DISABLEDdisabilita la conservazione del database.RETENTION_PERIOD: un valore personalizzato per il periodo di conservazione compreso tra 30 e 730 giorni. Se questo campo viene omesso, viene utilizzato il valore predefinito (60 giorni).
Esempio:
// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.dataRetentionConfig.airflowMetadataRetentionConfig
{
"config": {
"dataRetentionConfig": {
"airflowMetadataRetentionConfig": {
"retentionMode": "RETENTION_MODE_ENABLED",
"retentionMode": "90"
}
}
}
}
Terraform
Il blocco airflow_metadata_retention_config
in data_retention_config specifica i parametri di conservazione del database:
Il campo
retention_modespecifica la modalità di conservazione del database:- (Impostazione predefinita)
RETENTION_MODE_ENABLEDabilita la conservazione del database. RETENTION_MODE_DISABLEDdisabilita la conservazione del database.
- (Impostazione predefinita)
(Facoltativo)
retention_daysspecifica un periodo di conservazione personalizzato. Il valore predefinito è 60 giorni.
resource "google_composer_environment" "example" {
provider = google-beta
name = "ENVIRONMENT_NAME"
region = "LOCATION"
config {
data_retention_config {
airflow_metadata_retention_config {
retention_mode = "RETENTION_MODE"
retention_days = RETENTION_PERIOD
}
}
}
}
Sostituisci quanto segue:
ENVIRONMENT_NAME: il nome del tuo ambiente.LOCATION: la regione in cui si trova l'ambiente.RETENTION_MODE: modalità di conservazione del database (RETENTION_MODE_ENABLEDoRETENTION_MODE_DISABLED).RETENTION_PERIOD: un valore personalizzato per il periodo di conservazione compreso tra 30 e 730 giorni.
Esempio:
resource "google_composer_environment" "example" {
provider = google-beta
name = "example-environment"
region = "us-central1"
config {
data_retention_config {
airflow_metadata_retention_config {
retention_mode = "RETENTION_MODE_ENABLED"
retention_days = 90
}
}
Controllare lo stato di conservazione del database
Console
Nella Google Cloud console, vai alla pagina Ambienti.
Nell'elenco degli ambienti, fai clic sul nome del tuo ambiente. Si apre la pagina Dettagli ambiente.
Vai alla scheda Configurazione ambiente.
L'elemento Policy di conservazione dei dati del database elenca la policy di conservazione dei dati del database corrente del tuo ambiente.
gcloud
gcloud composer environments describe ENVIRONMENT_NAME \
--location LOCATION \
--format="value(config.dataRetentionConfig.airflowMetadataRetentionConfig.retentionMode)"
Visualizzare i log di conservazione del database
Puoi visualizzare i log delle operazioni di conservazione del database in Dettagli ambiente > Log >. I log si trovano in Tutti i log > Log di Composer > Conservazione del database.
Le voci di log elencano lo stato dell'operazione e le dimensioni del database.
Per saperne di più sulla visualizzazione dei log di Managed Service for Apache Airflow, vedi Visualizzare i log.