Managed Airflow (Gen 3) | Managed Airflow (Gen 2) | Managed Airflow (Legacy Gen 1)
Sie können beim Erstellen einer Umgebung einen benutzerdefinierten Cloud Storage-Bucket als Bucket der Umgebung angeben. Ihre Umgebung verwendet diesen Bucket auf dieselbe Weise wie den Standard-Bucket der Umgebung, Der Standard-Bucket der Umgebung wird nicht erstellt.
Mit einem benutzerdefinierten Bucket haben Sie folgende Möglichkeiten:
- Verwenden Sie eine Bucket-Konfiguration, die Ihren Anforderungen entspricht.
- Verwenden Sie einen Bucket, der für regelmäßige Entwicklungs- oder Testzwecke kontinuierlich vorhanden ist.
- Verwenden Sie einen vorhandenen Bucket aus einer vorherigen Umgebung wieder und behalten Sie CI/CD- und Datenintegrationen bei.
- Löschen und erstellen Sie eine Umgebung neu, ohne Daten zwischen Buckets übertragen zu müssen.
- Füllen Sie den benutzerdefinierten Bucket vorab mit erforderlichen Daten wie Ihren DAG-Dateien und erstellen Sie dann eine Umgebung.
Hinweis
- Dieses Feature wird ab Managed Airflow-Version 2.5.0 unterstützt. Frühere Versionen von Managed Airflow (Gen 2) unterstützen dieses Feature nicht.
- Der benutzerdefinierte Bucket muss sich in derselben Region wie die Umgebung befinden. Multiregionale und biregionale Buckets werden nicht unterstützt.
- Der benutzerdefinierte Bucket und die Umgebung müssen sich im selben Projekt befinden.
- Der benutzerdefinierte Bucket muss die Speicherklasse „Standard“ haben.
- Auf den benutzerdefinierten Bucket dürfen keine Aufbewahrungsrichtlinien oder Aufbewahrungsrichtliniensperren angewendet werden.
- Für den benutzerdefinierten Bucket darf der hierarchische Namespace nicht aktiviert sein.
Es ist nicht möglich, denselben benutzerdefinierten Bucket gleichzeitig mit mehreren Umgebungen zu verwenden. Managed Airflow gibt einen Fehler aus, wenn der angegebene Bucket bereits von einer anderen Umgebung verwendet wird. Es ist möglich, eine Umgebung zu löschen und dann denselben Bucket für eine andere Umgebung zu verwenden.
Wenn Sie das Speichern von Logs im Bucket der Umgebung aktiviert haben , dann werden in der Airflow-UI der neuen Umgebung keine Airflow-Aufgabenlogs aus der vorherigen Umgebung angezeigt, wenn Sie eine Umgebung löschen und denselben Bucket für eine andere Umgebung verwenden. Die Logs bleiben im Bucket, werden aber von der neuen Umgebung keinen DAG-Ausführungen zugeordnet.
Managed Airflow fügt dem Cloud Storage-Bucket keine fehlenden IAM-Berechtigungen hinzu, wenn er zum Erstellen einer Umgebung verwendet wird. Prüfen Sie, ob das Dienstkonto der Umgebung Berechtigungen aus der Rolle „Composer-Worker“ für den Bucket hat.
Umgebung mit einem benutzerdefinierten Bucket erstellen
Console
So geben Sie beim Erstellen einer Umgebung einen benutzerdefinierten Cloud Storage-Bucket an:
- Klicken Sie auf der Seite Umgebung erstellen im Abschnitt Erweiterte Konfiguration auf Erweiterte Konfiguration anzeigen.
- Wählen Sie Benutzerdefinierter Bucket aus.
- Geben Sie im Feld Bucket-Name einen Bucket an oder wählen Sie einen aus.
gcloud
Beim Erstellen einer Umgebung gibt das Argument --storage-bucket den benutzerdefinierten Bucket der Umgebung an.
gcloud composer environments create ENVIRONMENT_NAME \
--location LOCATION \
--storage-bucket CUSTOM_STORAGE_BUCKET
Ersetzen Sie Folgendes:
ENVIRONMENT_NAME: der Name Ihrer UmgebungLOCATION: die Region, in der sich die Umgebung befindetCUSTOM_STORAGE_BUCKET: der Name eines Cloud Storage-Bucket Sie können auch den Bucket-URI angeben (mit dem Präfixgs://).
Beispiel:
gcloud composer environments create example-environment \
--location us-cental1 \
--storage-bucket us-central1-example-bucket
API
Geben Sie beim Erstellen einer Umgebung in der Ressource Umgebung > StorageConfig einen benutzerdefinierten Bucket für Ihre Umgebung an.
{
"name": "projects/PROJECT_ID/locations/LOCATION/environments/ENVIRONMENT_NAME",
"storageConfig": {
"bucket": "CUSTOM_STORAGE_BUCKET"
}
}
Ersetzen Sie Folgendes:
PROJECT_ID: die Projekt-ID.LOCATION: die Region, in der sich die Umgebung befindetENVIRONMENT_NAME: der Name Ihrer UmgebungCUSTOM_STORAGE_BUCKET: der Name eines Cloud Storage-Bucket (ohne das Präfixgs://)
Beispiel:
// POST https://composer.googleapis.com/v1/{parent=projects/*/locations/*}/environments
{
"name": "projects/example-project/locations/us-central1/environments/example-environment",
"storageConfig": {
"bucket": "us-central1-example-bucket"
}
}
Terraform
Beim Erstellen einer Umgebung gibt das Feld bucket im Block storage_config den benutzerdefinierten Bucket der Umgebung an.
resource "google_composer_environment" "example" {
provider = google-beta
name = "ENVIRONMENT_NAME"
region = "LOCATION"
storage_config {
bucket = CUSTOM_STORAGE_BUCKET
}
}
Ersetzen Sie Folgendes:
ENVIRONMENT_NAME: der Name Ihrer UmgebungLOCATION: die Region, in der sich die Umgebung befindetCUSTOM_STORAGE_BUCKET: der Name eines Cloud Storage-Bucket Sie können auch den Bucket-URI angeben (mit dem Präfixgs://).
Beispiel:
resource "google_composer_environment" "example" {
provider = google-beta
name = "example-environment"
region = "us-central1"
storage_config {
bucket = "gs://us-central1-example-bucket"
}
}