Utiliser le bucket d'un environnement personnalisé

Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1

Vous pouvez spécifier un bucket Cloud Storage personnalisé comme bucket d'un environnement lorsque vous créez un environnement. Votre environnement utilise ce bucket de la même manière que le bucket de l'environnement par défaut, et 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.
  • Utilisez un bucket existant en permanence à des fins de développement ou de test périodiques.
  • Réutiliser un bucket existant d'un environnement précédent et conserver les intégrations CI/CD et de données
  • Supprimez et recréez un environnement sans avoir à transférer de données entre des buckets.
  • Préremplissez le bucket personnalisé avec les données requises, telles que vos fichiers DAG, puis créez un environnement.

Avant de commencer

  • 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 compatibles.
  • Le bucket personnalisé et l'environnement doivent appartenir au même projet.
  • Le bucket personnalisé doit être de classe de stockage standard.
  • Aucune règle de conservation ni verrouillage de règle de conservation ne doit être appliquée au bucket personnalisé.
  • Il n'est pas possible d'utiliser le même bucket personnalisé avec plusieurs environnements en même temps. Cloud Composer génère une erreur si le bucket spécifié est déjà utilisé par un autre environnement. Vous pouvez supprimer un environnement, puis utiliser le même bucket pour un autre environnement.

  • Cloud Composer n'ajoute aucune autorisation IAM manquante au bucket Cloud Storage lorsqu'il est utilisé pour créer un environnement. Assurez-vous que le compte de service de l'environnement dispose des autorisations du rôle Worker Composer sur le bucket.

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 le 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 où se trouve l'environnement.
  • CUSTOM_STORAGE_BUCKET: nom d'un bucket Cloud Storage. 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 ressource Environment > 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 où 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 bloc storage_config spécifie le bucket personnalisé de l'environnement.

resource "google_composer_environment" "example" {
  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 où se trouve l'environnement.
  • CUSTOM_STORAGE_BUCKET: nom d'un bucket Cloud Storage. Vous pouvez également spécifier l'URI du bucket (avec le préfixe gs://).

Exemple :

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

  storage_config {

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

  }
}

Étape suivante