Utiliser un bucket d'environnement personnalisé

Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3

Dans Cloud Composer 2, vous pouvez spécifier un bucket Cloud Storage personnalisé en tant que bucket d'un environnement lorsque vous créez un environnement. Votre environnement utilise cette de la même manière que le bucket de l'environnement par défaut, et que le bucket de l'environnement par défaut n'est pas créé.

Avec un bucket personnalisé, vous pouvez:

  • Utilisez une configuration de bucket conforme à vos exigences.
  • Utiliser un bucket existant en continu pour des développements ou des tests périodiques objectifs.
  • Réutilisez un bucket existant d'un environnement précédent et conservez l'intégration et la livraison continues (CI/CD) de Google Cloud.
  • Supprimer et recréer un environnement sans avoir à transférer de données Cloud Storage.
  • préremplir le bucket personnalisé avec les données requises, comme vos fichiers DAG, puis créer un environnement.

Avant de commencer

  • Cette fonctionnalité est disponible à partir de Cloud Composer version 2.5.0. Les versions antérieures de Cloud Composer 2 ne sont pas compatibles avec cette .
  • Le bucket personnalisé doit se trouver dans la même région que l'environnement. Les buckets multirégionaux et birégionaux ne sont pas acceptés.
  • Le bucket personnalisé et l'environnement doivent se trouver dans le même projet.
  • Le bucket personnalisé doit comporter le paramètre Classe de stockage standard.
  • Le bucket personnalisé ne doit comporter aucun ou leur verrouillage appliquée.
  • Il n'est pas possible d'utiliser le même bucket personnalisé avec plusieurs environnements dans en même temps. Cloud Composer génère une erreur si le le bucket spécifié est déjà utilisé par un autre environnement. Il est possible de supprimer un environnement, puis utiliser le même bucket pour un autre environnement.
  • Si vous supprimez un environnement, puis utilisez le même bucket pour un autre le nouvel environnement n'affiche pas les journaux des tâches Airflow provenant l'environnement précédent dans l'interface utilisateur d'Airflow. Les journaux restent dans le bucket, mais le nouvel environnement ne les associe à aucune exécution de DAG.

Créer un environnement avec un bucket personnalisé

Console

Pour spécifier un bucket Cloud Storage personnalisé lorsque vous créez un environnement:

  1. Sur la page Créer un environnement, dans la section Configuration avancée, cliquez sur Afficher la configuration avancée.
  2. Sélectionnez Bucket personnalisé.
  3. Dans le champ Nom du bucket, spécifiez ou sélectionnez un bucket.

gcloud

Lorsque vous créez un environnement, l'argument --storage-bucket spécifie bucket personnalisé de l'environnement.

gcloud composer environments create ENVIRONMENT_NAME \
    --location LOCATION \
    --storage-bucket CUSTOM_STORAGE_BUCKET

Remplacez les éléments suivants :

  • ENVIRONMENT_NAME : nom de votre environnement
  • LOCATION: région dans laquelle se trouve l'environnement.
  • CUSTOM_STORAGE_BUCKET: nom d'un bucket Cloud Storage. Toi Vous pouvez également spécifier l'URI du bucket (avec le préfixe gs://).

Exemple :

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

API

Lorsque vous créez un environnement, dans la section Environnement > StorageConfig, spécifiez un bucket personnalisé pour votre environnement.

{
  "name": "projects/PROJECT_ID/locations/LOCATION/environments/ENVIRONMENT_NAME",
  "storageConfig": {
    "bucket": "CUSTOM_STORAGE_BUCKET"
  }
}

Remplacez les éléments suivants :

  • PROJECT_ID: ID du projet
  • LOCATION: région dans laquelle se trouve l'environnement.
  • ENVIRONMENT_NAME : nom de votre environnement
  • CUSTOM_STORAGE_BUCKET: nom d'un bucket Cloud Storage (sans le préfixe gs://).

Exemple :

// 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

Lorsque vous créez un environnement, le champ bucket du Le bloc storage_config spécifie le bucket personnalisé de l'environnement.

resource "google_composer_environment" "example" {
  provider = google-beta
  name = "ENVIRONMENT_NAME"
  region = "LOCATION"

  storage_config {

    bucket = CUSTOM_STORAGE_BUCKET

  }
}

Remplacez les éléments suivants :

  • ENVIRONMENT_NAME : nom de votre environnement
  • LOCATION: région dans laquelle se trouve l'environnement.
  • CUSTOM_STORAGE_BUCKET: nom d'un bucket Cloud Storage. Toi Vous pouvez également spécifier l'URI du bucket (avec le préfixe gs://).

Exemple :

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

  storage_config {

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

  }
}

Étape suivante