Bucket einer benutzerdefinierten Umgebung verwenden

Cloud Composer 1 Cloud Composer 2

In Cloud Composer 2 können Sie beim Erstellen einer Umgebung einen benutzerdefinierten Cloud Storage-Bucket als Bucket einer Umgebung angeben. Ihre Umgebung verwendet diesen Bucket auf die gleiche Weise wie der Bucket der Standardumgebung und der Bucket der Standardumgebung wird nicht erstellt.

Mit einem benutzerdefinierten Bucket können Sie:

  • Verwenden Sie eine Bucket-Konfiguration, die Ihren Anforderungen entspricht.
  • Verwenden Sie einen kontinuierlich vorhandenen Bucket für regelmäßige Entwicklungs- oder Testzwecke.
  • Sie können einen vorhandenen Bucket aus einer vorherigen Umgebung wiederverwenden und CI/CD und Datenintegrationen beibehalten.
  • Löschen Sie eine Umgebung und erstellen Sie sie neu, ohne Daten zwischen Buckets übertragen zu müssen.
  • Füllen Sie den benutzerdefinierten Bucket vorab mit den erforderlichen Daten wie Ihren DAG-Dateien und erstellen Sie dann eine Umgebung.

Hinweise

  • Dieses Feature wird ab Cloud Composer-Version 2.5.0 unterstützt. Frühere Versionen von Cloud Composer 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 Standard Storage-Klasse haben.
  • Auf den benutzerdefinierten Bucket dürfen keine Aufbewahrungsrichtlinien oder Aufbewahrungsrichtliniensperren angewendet werden.
  • Ein benutzerdefinierter Bucket kann nicht gleichzeitig für mehrere Umgebungen verwendet werden. Cloud Composer generiert einen Fehler, wenn der angegebene Bucket bereits von einer anderen Umgebung verwendet wird. Sie können eine Umgebung löschen und dann denselben Bucket für eine andere Umgebung verwenden.
  • Wenn Sie eine Umgebung löschen und dann denselben Bucket für eine andere Umgebung verwenden, werden in der neuen Umgebung keine Airflow-Task-Logs aus der vorherigen Umgebung in der Airflow-UI angezeigt. Die Logs verbleiben im Bucket, werden aber von der neuen Umgebung keinen DAG-Ausführungen zugeordnet.

Umgebung mit einem benutzerdefinierten Bucket erstellen

Console

So geben Sie beim Erstellen einer Umgebung einen benutzerdefinierten Cloud Storage-Bucket an:

  1. Klicken Sie auf der Seite Umgebung erstellen im Abschnitt Erweiterte Konfiguration auf Erweiterte Konfiguration anzeigen.
  2. Wählen Sie Benutzerdefinierter Bucket aus.
  3. 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 Umgebung
  • LOCATION: die Region, in der sich die Umgebung befindet.
  • CUSTOM_STORAGE_BUCKET: der Name eines Cloud Storage-Bucket Sie können auch den Bucket-URI angeben (mit dem Präfix gs://).

Beispiel:

gcloud composer environments create example-environment \
    --location us-cental1 \
    --storage-bucket us-central1-example-bucket

API

Geben Sie beim Erstellen einer Umgebung unter Environment > StorageConfig einen benutzerdefinierten Bucket für die 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 befindet.
  • ENVIRONMENT_NAME: der Name Ihrer Umgebung
  • CUSTOM_STORAGE_BUCKET: der Name eines Cloud Storage-Bucket (ohne das Präfix gs://).

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

Wenn Sie eine Umgebung erstellen, 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 Umgebung
  • LOCATION: die Region, in der sich die Umgebung befindet.
  • CUSTOM_STORAGE_BUCKET: der Name eines Cloud Storage-Bucket Sie können auch den Bucket-URI angeben (mit dem Präfix gs://).

Beispiel:

resource "google_composer_environment" "example" {
  provider = google-beta
  name = "example-environment"
  region = "us-central1"

  storage_config {

    bucket = "gs://us-central1-example-bucket"

  }
}

Nächste Schritte