Bucket für benutzerdefinierte Umgebung verwenden

Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3

In Cloud Composer 2 können Sie einen benutzerdefinierten Cloud Storage-Bucket als beim Erstellen der Umgebung. Dieser Bucket wird in Ihrer Umgebung auf die gleiche Weise wie der Bucket der Standardumgebung verwendet. Der Bucket der Standardumgebung wird nicht erstellt.

Mit einem benutzerdefinierten Bucket haben Sie folgende Möglichkeiten:

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

Hinweise

  • Diese Funktion wird ab der Cloud Composer-Version 2.5.0 unterstützt. Ältere Versionen von Cloud Composer 2 unterstützen diese Funktion nicht.
  • Der benutzerdefinierte Bucket muss sich in derselben Region wie die Umgebung befinden. Multiregionale und Dual-Region-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 Sperren für Aufbewahrungsrichtlinien angewendet werden.
  • Es ist nicht möglich, denselben benutzerdefinierten Bucket für mehrere Umgebungen gleichzeitig. Cloud Composer generiert einen Fehler, wenn der angegebener Bucket wird bereits von einer anderen Umgebung verwendet. Es ist möglich, eine Umgebung zu löschen und dann denselben Bucket für eine andere Umgebung zu verwenden.
  • Wenn Sie eine Umgebung löschen und dann denselben Bucket für eine andere Umgebung verwenden, werden in der neuen Umgebung keine Airflow-Aufgabenprotokolle aus der vorherigen Umgebung in der Airflow-Benutzeroberfläche angezeigt. Die Protokolle verbleiben im Bucket, werden aber in 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. Gehen Sie auf der Seite Umgebung erstellen im Bereich Erweiterte Konfiguration zu 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. Ich kann 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

Wenn Sie eine Umgebung erstellen, geben Sie im Feld Environment (Umgebung) > StorageConfig-Ressource, angeben einen benutzerdefinierten Bucket für Ihre Umgebung.

{
  "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-Buckets (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

Beim Erstellen einer Umgebung wird im Feld bucket im Block storage_config der benutzerdefinierte Bucket der Umgebung angegeben.

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. Ich kann 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