Managed Airflow (Gen 3) | Managed Airflow (Gen 2) | Managed Airflow (Legacy Gen 1)
Auf dieser Seite wird erläutert, wie Sie eine Aufbewahrungsrichtlinie für die Airflow-Datenbank konfigurieren, damit ältere Datensätze automatisch daraus entfernt werden. So können Sie die Größe der Airflow-Datenbank beibehalten.
Die Aufbewahrungsrichtlinie für Datenbanken ist nur in Managed Airflow (Gen 3) verfügbar.
Datenbankaufbewahrung
Im Laufe der Zeit speichert die Airflow-Datenbank Ihrer Umgebung immer mehr Daten. Diese Daten enthalten Informationen und Logs, die sich auf vergangene DAG-Ausführungen, Aufgaben und andere Airflow-Vorgänge beziehen.
Wenn Sie einen Aufbewahrungszeitraum für die Airflow-Datenbank in Ihrer Umgebung festlegen, gilt Folgendes:
- In Managed Airflow werden Datensätze zu DAG-Ausführungen und Nutzersitzungen entfernt, die älter als der angegebene Zeitraum sind.
- Die neuesten Informationen zu DAG-Ausführungen werden immer beibehalten, auch nachdem der Aufbewahrungszeitraum für die zugehörigen Datensätze abgelaufen ist.
- Die Standardaufbewahrungsdauer beträgt 60 Tage. Sie können einen benutzerdefinierten Aufbewahrungszeitraum zwischen 30 und 730 Tagen festlegen.
So funktionieren Datenbankaufbewahrungsvorgänge:
Standardmäßig ist die Datenbankaufbewahrung aktiviert. Sie können sie für eine neue oder eine vorhandene Umgebung aktivieren oder deaktivieren. Die Standardaufbewahrungsdauer beträgt 60 Tage.
Ein Bereinigungsvorgang wird mindestens einmal innerhalb von 24 Stunden nach dem Aktivieren der Datenbankaufbewahrung automatisch ausgeführt. Es ist nicht möglich, einen benutzerdefinierten Zeitplan für diesen Vorgang festzulegen. In Managed Airflow wird der Bereinigungsvorgang nicht sofort ausgeführt, nachdem Sie die Datenbankaufbewahrung aktiviert oder den Aufbewahrungszeitraum geändert haben.
Beim Bereinigungsvorgang werden keine Airflow-Datenbanktabellen gesperrt und die Datenkonsistenz bleibt auch bei einer Unterbrechung erhalten.
Die Größe des Cloud SQL-Speichers kann nach einer Erhöhung nicht durch Datenbankaufbewahrungsvorgänge reduziert werden. Datenbankaufbewahrungsvorgänge verhindern nur, dass die Airflow-Datenbank im Laufe der Zeit größer wird. Weitere Informationen finden Sie im entsprechenden bekannten Problem.
Hinweis
- Wenn in Ihrer Umgebung der DAG für die Datenbankbereinigung nach einem Zeitplan ausgeführt wird, können Sie den DAG beenden, nachdem Sie die Aufbewahrungsrichtlinie für die Datenbank konfiguriert haben. Der Ansatz mit dem Wartungs-DAG ist veraltet in Managed Airflow (Gen 3). Dieser DAG führt redundante Aufgaben aus und Sie können den Ressourcenverbrauch reduzieren, indem Sie ihn beenden.
Datenbankaufbewahrung für eine neue Umgebung konfigurieren
So aktivieren oder deaktivieren Sie die Datenbankaufbewahrung oder legen einen benutzerdefinierten Aufbewahrungszeitraum für die Datenbank fest, wenn Sie eine Umgebung erstellen:
Console
Auf der Seite Umgebung erstellen:
Konfigurieren Sie im Abschnitt Aufbewahrungsrichtlinie für Datenbankdaten die Datenbankaufbewahrung:
(Standard) Wählen Sie Aufbewahrungsrichtlinie für Datenbankdaten aktivieren aus, um die Datenbankaufbewahrung zu aktivieren.
Wählen Sie Aufbewahrungsrichtlinie für Datenbankdaten deaktivieren aus, um die Datenbankaufbewahrung zu deaktivieren.
(Optional) Wenn Sie einen benutzerdefinierten Aufbewahrungszeitraum festlegen möchten, geben Sie im Feld Aufbewahrungszeitraum einen Zeitraum zwischen 30 und 730 Tagen an.
gcloud
Wenn Sie eine Umgebung erstellen, wird mit dem Argument --airflow-database-retention-days die Datenbankaufbewahrung aktiviert und der Aufbewahrungszeitraum in Tagen angegeben.
Dieses Argument muss immer explizit angegeben werden:
- Der Wert
0deaktiviert die Datenbankaufbewahrung. - Geben Sie
60an, um den Standardwert zu verwenden. - Geben Sie einen Wert an, um einen benutzerdefinierten Aufbewahrungszeitraum für die Datenbank zwischen 30 und 730 Tagen festzulegen.
gcloud composer environments create ENVIRONMENT_NAME \
--location LOCATION \
--image-version composer-3-airflow-2.11.1-build.5 \
--airflow-database-retention-days RETENTION_PERIOD
Ersetzen Sie Folgendes:
ENVIRONMENT_NAME: der Name Ihrer UmgebungLOCATION: die Region, in der sich die Umgebung befindetRETENTION_PERIOD: ein benutzerdefinierter Wert für den Aufbewahrungszeitraum
Beispiel:
gcloud composer environments create example-environment \
--location us-central1 \
--airflow-database-retention-days 60
API
Geben Sie beim Erstellen einer Umgebung in der Ressource Umgebung > EnvironmentConfig > [DataRetentionConfig][api-res-data-retention-config] > AirflowMetadataRetentionPolicyConfig die Parameter für die Datenbankaufbewahrung an:
{
"name": "projects/PROJECT_ID/locations/LOCATION/environments/ENVIRONMENT_NAME",
"config": {
"dataRetentionConfig": {
"airflowMetadataRetentionConfig": {
"retentionMode": "RETENTION_MODE_ENABLED",
"retentionDays": "RETENTION_PERIOD"
}
}
}
}
Ersetzen Sie Folgendes:
ENVIRONMENT_NAME: der Name Ihrer UmgebungLOCATION: die Region, in der sich die Umgebung befindetRETENTION_PERIOD: ein benutzerdefinierter Wert für den Aufbewahrungszeitraum zwischen 30 und 730 Tagen
Beispiel:
// 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
Wenn Sie eine Umgebung erstellen, werden mit dem airflow_metadata_retention_config Block
in der data_retention_config die Parameter für die Datenbankaufbewahrung angegeben:
Das Feld
retention_modegibt den Modus für die Datenbankaufbewahrung an:- (Standard)
RETENTION_MODE_ENABLEDaktiviert die Datenbankaufbewahrung. RETENTION_MODE_DISABLEDdeaktiviert die Datenbankaufbewahrung.
- (Standard)
(Optional)
retention_daysgibt einen benutzerdefinierten Aufbewahrungszeitraum an. Der Standardwert ist 60 Tage.
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
}
}
}
}
Ersetzen Sie Folgendes:
ENVIRONMENT_NAME: der Name Ihrer UmgebungLOCATION: die Region, in der sich die Umgebung befindetRETENTION_MODE: Modus für die Datenbankaufbewahrung (RETENTION_MODE_ENABLEDoderRETENTION_MODE_DISABLED).RETENTION_PERIOD: ein benutzerdefinierter Wert für den Aufbewahrungszeitraum zwischen 30 und 730 Tagen
Beispiel:
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
}
}
Datenbankaufbewahrung für eine vorhandene Umgebung konfigurieren
So aktivieren oder deaktivieren Sie die Datenbankaufbewahrung für eine vorhandene Umgebung und legen einen benutzerdefinierten Aufbewahrungszeitraum fest:
Console
Rufen Sie in der Google Cloud Console die Seite Umgebungen auf.
Klicken Sie in der Liste der Umgebungen auf den Namen Ihrer Umgebung. Die Seite Umgebungsdetails wird geöffnet.
Rufen Sie den Tab Umgebungskonfiguration auf.
Unter Aufbewahrungsrichtlinie für Datenbankdaten wird die aktuelle Aufbewahrungsrichtlinie für Datenbankdaten Ihrer Umgebung aufgeführt.
Klicken Sie auf Bearbeiten.
Legen Sie den Status der Datenbankaufbewahrung fest:
Wählen Sie Aufbewahrungsrichtlinie für Datenbankdaten aktivieren aus, um die Datenbankaufbewahrung zu aktivieren.
Deaktivieren Sie Aufbewahrungsrichtlinie für Datenbankdaten aktivieren , um die Datenbankaufbewahrung zu deaktivieren.
(Optional) Wenn Sie einen benutzerdefinierten Aufbewahrungszeitraum festlegen möchten, geben Sie im Feld Aufbewahrungszeitraum einen Zeitraum zwischen 30 und 730 Tagen an.
gcloud
Mit dem Argument --airflow-database-retention-days wird die Datenbankaufbewahrung aktiviert und der Aufbewahrungszeitraum in Tagen angegeben. Der Wert 0 deaktiviert die Datenbankaufbewahrung.
gcloud composer environments update ENVIRONMENT_NAME \
--airflow-database-retention-days RETENTION_PERIOD
Ersetzen Sie Folgendes:
ENVIRONMENT_NAME: der Name Ihrer UmgebungLOCATION: die Region, in der sich die Umgebung befindetRETENTION_PERIOD: ein benutzerdefinierter Wert für den Aufbewahrungszeitraum zwischen 30 und 730 Tagen
Beispiel:
gcloud composer environments update example-environment \
--location us-central1 \
--airflow-database-retention-days 60
API
Erstellen Sie eine
environments.patch-API-Anfrage.In dieser Anfrage:
Geben Sie im Parameter
updateMaskdie Maskeconfig.dataRetentionConfig.airflowMetadataRetentionConfigan.Geben Sie im Anfragetext die Parameter für die Datenbankaufbewahrung an.
{
"config": {
"dataRetentionConfig": {
"airflowMetadataRetentionConfig": {
"retentionMode": "RETENTION_MODE",
"retentionDays": "RETENTION_PERIOD"
}
}
}
}
Ersetzen Sie:
RETENTION_MODE:RETENTION_MODE_ENABLEDaktiviert die Datenbankaufbewahrung,RETENTION_MODE_DISABLEDdeaktiviert sie.RETENTION_PERIOD: ein benutzerdefinierter Wert für den Aufbewahrungszeitraum zwischen 30 und 730 Tagen. Wenn dieses Feld nicht angegeben wird, wird der Standardwert verwendet (60 Tage).
Beispiel:
// 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
Mit dem airflow_metadata_retention_config Block
in der data_retention_config werden die Parameter für die Datenbankaufbewahrung angegeben:
Das Feld
retention_modegibt den Modus für die Datenbankaufbewahrung an:- (Standard)
RETENTION_MODE_ENABLEDaktiviert die Datenbankaufbewahrung. RETENTION_MODE_DISABLEDdeaktiviert die Datenbankaufbewahrung.
- (Standard)
(Optional)
retention_daysgibt einen benutzerdefinierten Aufbewahrungszeitraum an. Der Standardwert ist 60 Tage.
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
}
}
}
}
Ersetzen Sie Folgendes:
ENVIRONMENT_NAME: der Name Ihrer UmgebungLOCATION: die Region, in der sich die Umgebung befindetRETENTION_MODE: Modus für die Datenbankaufbewahrung (RETENTION_MODE_ENABLEDoderRETENTION_MODE_DISABLED).RETENTION_PERIOD: ein benutzerdefinierter Wert für den Aufbewahrungszeitraum zwischen 30 und 730 Tagen
Beispiel:
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
}
}
Status der Datenbankaufbewahrung prüfen
Console
Rufen Sie in der Google Cloud Console die Seite Umgebungen auf.
Klicken Sie in der Liste der Umgebungen auf den Namen Ihrer Umgebung. Die Seite Umgebungsdetails wird geöffnet.
Rufen Sie den Tab Umgebungskonfiguration auf.
Unter Aufbewahrungsrichtlinie für Datenbankdaten wird die aktuelle Aufbewahrungsrichtlinie für Datenbankdaten Ihrer Umgebung aufgeführt.
gcloud
gcloud composer environments describe ENVIRONMENT_NAME \
--location LOCATION \
--format="value(config.dataRetentionConfig.airflowMetadataRetentionConfig.retentionMode)"
Logs zur Datenbankaufbewahrung ansehen
Sie können Protokolle zu Datenbankaufbewahrungsvorgängen unter Umgebungsdetails > Protokolle > ansehen. Die Protokolle befinden sich unter Alle Protokolle > Composer-Protokolle > Datenbankaufbewahrung.
In den Logeinträgen werden der Status des Vorgangs und die Datenbankgröße aufgeführt.
Weitere Informationen zum Ansehen von Managed Service for Apache Airflow-Logs finden Sie unter Logs ansehen.