Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1
Questa pagina spiega come configurare un criterio di conservazione per il database Airflow, in modo che i record meno recenti vengano rimossi automaticamente, il che contribuisce a mantenere le dimensioni del database Airflow.
Il criterio di conservazione dei dati del database è disponibile solo in Cloud Composer 3 e non è attivato per impostazione predefinita.
Informazioni sulla conservazione del database
Con il passare del tempo, il database Airflow del tuo ambiente archivia sempre più dati. Questi dati includono informazioni e log relativi a esecuzioni DAG, attività e altre operazioni Airflow passate.
Se imposti un periodo di conservazione per il database Airflow nel tuo ambiente:
- Cloud Composer rimuove i record relativi alle esecuzioni DAG e alle sessioni utente precedenti al periodo di tempo specificato.
- Le informazioni sull'esecuzione DAG più recente vengono sempre conservate, anche dopo il superamento del periodo di conservazione 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 è disattivata. Puoi attivarlo o disattivarlo 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'attivazione della conservazione del database. Non è possibile impostare una pianificazione personalizzata per questa operazione.
Cloud Composer non esegue l'operazione di pulizia immediatamente dopo aver attivato la conservazione del database o modificato il periodo di conservazione. Se necessario, è possibile eseguire questa operazione su richiesta.
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 dello spazio di archiviazione Cloud SQL tramite operazioni di conservazione del database dopo che sono state aumentate. Le operazioni di conservazione del database contribuiscono solo a impedire l'aumento del database Airflow nel tempo. Per ulteriori informazioni, consulta il problema noto corrispondente.
Prima di iniziare
- Se il tuo ambiente esegue il DAG di pulizia del database in base a una programmazione, puoi interrompere il DAG dopo aver configurato il criterio di conservazione dei dati del database. Questo DAG esegue un lavoro ridondante e puoi ridurre il consumo di risorse interrompendolo.
Configurare la conservazione dei database per un nuovo ambiente
Per attivare o disattivare la conservazione dei database o impostare un periodo di conservazione personalizzato dei database quando crei un ambiente:
Console
Nella pagina Crea ambiente:
Nella sezione Norme sulla conservazione dei dati del database, configura la conservazione del database:
Per attivare la conservazione del database, seleziona Abilita la policy di conservazione dei dati del database.
Per disattivare la conservazione del database, seleziona Disattiva 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
attiva la conservazione del database e specifica il periodo di conservazione in giorni.
Questo argomento deve sempre essere specificato esplicitamente:
- Il valore
0
disattiva la conservazione del database. - Specifica
60
per 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.10.2-build.9 \
--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_mode
specifica la modalità di conservazione del database:RETENTION_MODE_ENABLED
attiva la conservazione del database.- (Valore predefinito)
RETENTION_MODE_DISABLED
disattiva la conservazione del database.
(Facoltativo)
retention_days
specifica 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_ENABLED
oRETENTION_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 dei database per un ambiente esistente
Per attivare o disattivare la conservazione dei database per un ambiente esistente e impostare un periodo di conservazione personalizzato:
Console
Nella console Google Cloud, vai alla pagina Ambienti.
Nell'elenco degli ambienti, fai clic sul nome dell'ambiente. Viene visualizzata la pagina Dettagli dell'ambiente.
Vai alla scheda Configurazione dell'ambiente.
L'elemento Norme sulla conservazione dei dati del database elenca le norme sulla conservazione dei dati del database correnti del tuo ambiente.
Fai clic su Modifica.
Imposta lo stato della conservazione del database:
Per attivare la conservazione del database, seleziona Abilita la policy di conservazione dei dati del database.
Per disattivare 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
attiva la conservazione del database
e specifica il periodo di conservazione in giorni. Il valore 0
disattiva 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_ENABLED
attiva la conservazione del database,RETENTION_MODE_DISABLED
disattiva 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_mode
specifica la modalità di conservazione del database:RETENTION_MODE_ENABLED
attiva la conservazione del database.- (Valore predefinito)
RETENTION_MODE_DISABLED
disattiva la conservazione del database.
(Facoltativo)
retention_days
specifica 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_ENABLED
oRETENTION_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 console Google Cloud, vai alla pagina Ambienti.
Nell'elenco degli ambienti, fai clic sul nome dell'ambiente. Viene visualizzata la pagina Dettagli dell'ambiente.
Vai alla scheda Configurazione dell'ambiente.
L'elemento Norme sulla conservazione dei dati del database elenca le norme sulla conservazione dei dati del database correnti 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 del log elencano lo stato dell'operazione e le dimensioni del database.
Per ulteriori informazioni sulla visualizzazione dei log di Cloud Composer, consulta Visualizzare i log.