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:
- Sie können eine Bucket-Konfiguration verwenden, die Ihren Anforderungen entspricht.
- Sie können einen Bucket verwenden, der für regelmäßige Entwicklungs- oder Testzwecke kontinuierlich vorhanden ist.
- Sie können einen vorhandenen Bucket aus einer vorherigen Umgebung wiederverwenden und CI/CD- und Datenintegrationen beibehalten.
- Sie können eine Umgebung löschen und neu erstellen, ohne Daten zwischen Buckets übertragen zu müssen.
- Sie können den benutzerdefinierten Bucket mit den erforderlichen Daten wie Ihren DAG-Dateien vorab füllen und dann eine Umgebung erstellen.
Hinweis
- 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 Standardspeicherklasse 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.
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 Bucket 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" {
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" {
name = "example-environment"
region = "us-central1"
storage_config {
bucket = "gs://us-central1-example-bucket"
}
}