Le 15 septembre 2026, tous les environnements Cloud Composer 1 et Cloud Composer 2 version 2.0.x atteindront leur fin de vie prévue et vous ne pourrez plus les utiliser. Nous vous recommandons de planifier la migration vers Cloud Composer 3.
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
Cette fonctionnalité est disponible à partir de la version 2.5.0 de Cloud Composer. Les versions antérieures de Cloud Composer 2 ne sont pas compatibles avec cette fonctionnalité.
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.
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.
Si vous avez activé l'enregistrement des journaux dans le bucket de l'environnement, si vous supprimez un environnement, puis utilisez le même bucket pour un autre environnement, le nouvel environnement n'affiche pas les journaux de tâches Airflow de 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.
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:
Sur la page Créer un environnement, dans la section Configuration avancée, cliquez sur Afficher la configuration avancée.
Sélectionnez Bucket personnalisé.
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.
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.
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/08/29 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Difficile à comprendre","hardToUnderstand","thumb-down"],["Informations ou exemple de code incorrects","incorrectInformationOrSampleCode","thumb-down"],["Il n'y a pas l'information/les exemples dont j'ai besoin","missingTheInformationSamplesINeed","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2025/08/29 (UTC)."],[[["\u003cp\u003eCloud Composer 2 allows specifying a custom Cloud Storage bucket for an environment, which is used in place of the default environment's bucket, eliminating the creation of the default.\u003c/p\u003e\n"],["\u003cp\u003eUsing a custom bucket provides advantages such as compliance with specific bucket configurations, reusing existing buckets, and avoiding data transfer when deleting and recreating environments.\u003c/p\u003e\n"],["\u003cp\u003eThe custom bucket must meet specific requirements including being in the same region and project as the environment, using Standard storage class, and having no retention policies or locks.\u003c/p\u003e\n"],["\u003cp\u003eCreating an environment with a custom bucket can be done through the console, \u003ccode\u003egcloud\u003c/code\u003e command-line tool, API, or Terraform, each requiring the bucket name to be specified during environment creation.\u003c/p\u003e\n"],["\u003cp\u003eIt's important to know that Cloud Composer will not alter the encryption settings for a custom bucket, so it must be manually encrypted if needed, and that you must add the Composer worker role permissions to the bucket for the service account.\u003c/p\u003e\n"]]],[],null,["# Use a custom environment's bucket\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\n[Cloud Composer 3](/composer/docs/composer-3/custom-bucket \"View this page for Cloud Composer 3\") \\| **Cloud Composer 2** \\| Cloud Composer 1\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\nYou can specify a custom Cloud Storage bucket as an environment's bucket\nwhen you create an environment. Your environment uses this\nbucket in the same way as the [default environment's bucket](/composer/docs/composer-2/cloud-storage),\nand the default environment's bucket is not created.\n\nWith a custom bucket, you can:\n\n- Use a bucket configuration that is compliant with your requirements.\n- Use a continuously existing bucket for periodic development or testing purposes.\n- Reuse an existing bucket from a previous environment and keep CI/CD and data integrations.\n- Delete and re-create an environment without the need to transfer data between buckets.\n- Pre-populate the custom bucket with required data, such as your DAG files, and then create an environment.\n\nBefore you begin\n----------------\n\n- This feature is supported starting from Cloud Composer version 2.5.0. Earlier versions of Cloud Composer 2 do not support this feature.\n\n\u003c!-- --\u003e\n\n- The custom bucket must be located in the same region as the environment. Multi-region and dual-region buckets are not supported.\n- The custom bucket and the environment must be in the same project.\n- The custom bucket must have the [Standard storage class](/storage/docs/storage-classes).\n- The custom bucket must have no [retention policies or retention policy locks](/storage/docs/bucket-lock) applied to it.\n- It is not possible to use the same custom bucket with several environments at\n the same time. Cloud Composer generates an error if the\n specified bucket is already used by another environment. It is possible to\n delete an environment and then use the same bucket for another environment.\n\n- If you enabled\n [saving logs to the environment's bucket](/composer/docs/composer-2/enable-saving-logs-to-environment-bucket), then if\n you delete an environment and then use the same bucket for another\n environment, the new environment does not display Airflow task logs from\n the previous environment in Airflow UI. The logs remain in the bucket, but\n the new environment does not associate them with any DAG runs.\n\n- Cloud Composer doesn't add any missing IAM\n permissions to the Cloud Storage bucket when it is used to create an\n environment. Make sure that the environment's service account has\n [permissions from the Composer Worker role](/composer/docs/composer-2/access-control) on the bucket.\n\n| **Warning:** Cloud Composer does not alter the encryption settings of a custom bucket and thus does not [encrypt it with a CMEK key](/composer/docs/composer-2/configure-cmek-encryption) (even if the project's policies require encryption). Specifically, the custom bucket's encryption is not changed if your environment uses CMEK encryption. Your custom bucket follows policies of the project that it belongs to. You can [manually encrypt](/storage/docs/encryption/using-customer-managed-keys) the environment's bucket with CMEK keys before you create an environment.\n\nCreate an environment with a custom bucket\n------------------------------------------\n\n### Console\n\nTo specify a custom Cloud Storage bucket when you create an\nenvironment:\n\n1. On the **Create environment** page, in the **Advanced configuration** section, click **Show advanced configuration**.\n2. Select **Custom bucket**.\n3. In the **Bucket name** field, specify or select a bucket.\n\n### gcloud\n\nWhen you create an environment, the `--storage-bucket` argument specifies the\nenvironment's custom bucket. \n\n gcloud composer environments create \u003cvar translate=\"no\"\u003eENVIRONMENT_NAME\u003c/var\u003e \\\n --location \u003cvar translate=\"no\"\u003eLOCATION\u003c/var\u003e \\\n --storage-bucket \u003cvar translate=\"no\"\u003eCUSTOM_STORAGE_BUCKET\u003c/var\u003e\n\nReplace the following:\n\n- `ENVIRONMENT_NAME`: the name of your environment.\n- `LOCATION`: the region where the environment is located.\n- `CUSTOM_STORAGE_BUCKET`: the name of a Cloud Storage bucket. You can also specify the bucket URI (with the `gs://` prefix).\n\nExample: \n\n gcloud composer environments create example-environment \\\n --location us-cental1 \\\n --storage-bucket us-central1-example-bucket\n\n### API\n\nWhen you create an environment, in the [Environment](/composer/docs/reference/rest/v1/projects.locations.environments#Environment)\n\\\u003e [StorageConfig](/composer/docs/reference/rest/v1/projects.locations.environments#StorageConfig) resource, specify\na custom bucket for your environment. \n\n {\n \"name\": \"projects/\u003cvar translate=\"no\"\u003ePROJECT_ID\u003c/var\u003e/locations/\u003cvar translate=\"no\"\u003eLOCATION\u003c/var\u003e/environments/\u003cvar translate=\"no\"\u003eENVIRONMENT_NAME\u003c/var\u003e\",\n \"storageConfig\": {\n \"bucket\": \"\u003cvar translate=\"no\"\u003eCUSTOM_STORAGE_BUCKET\u003c/var\u003e\"\n }\n }\n\nReplace the following:\n\n- `PROJECT_ID`: the [Project ID](/resource-manager/docs/creating-managing-projects).\n- `LOCATION`: the region where the environment is located.\n- `ENVIRONMENT_NAME`: the name of your environment.\n- `CUSTOM_STORAGE_BUCKET`: the name of a Cloud Storage bucket (without the `gs://` prefix).\n\nExample: \n\n // POST https://composer.googleapis.com/v1/{parent=projects/*/locations/*}/environments\n\n {\n \"name\": \"projects/example-project/locations/us-central1/environments/example-environment\",\n \"storageConfig\": {\n \"bucket\": \"us-central1-example-bucket\"\n }\n }\n\n### Terraform\n\nWhen you create an environment, the `bucket` field in the\n`storage_config` block specifies the environment's custom bucket.\n**Caution:** If you change the value of this field for an existing environment, Terraform deletes the existing environment and creates it again. \n\n resource \"google_composer_environment\" \"example\" {\n provider = google-beta\n name = \"\u003cvar translate=\"no\"\u003eENVIRONMENT_NAME\u003c/var\u003e\"\n region = \"\u003cvar translate=\"no\"\u003eLOCATION\u003c/var\u003e\"\n\n storage_config {\n\n bucket = \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-err\"\u003eCUSTOM_STORAGE_BUCKET\u003c/span\u003e\u003c/var\u003e\n\n }\n }\n\nReplace the following:\n\n- `ENVIRONMENT_NAME`: the name of your environment.\n- `LOCATION`: the region where the environment is located.\n- `CUSTOM_STORAGE_BUCKET`: the name of a Cloud Storage bucket. You can also specify the bucket URI (with the `gs://` prefix).\n\nExample: \n\n resource \"google_composer_environment\" \"example\" {\n provider = google-beta\n name = \"example-environment\"\n region = \"us-central1\"\n\n storage_config {\n\n bucket = \"gs://us-central1-example-bucket\"\n\n }\n }\n\nWhat's next\n-----------\n\n- [About the environment's bucket](/composer/docs/composer-2/cloud-storage)\n- [CMEK in Cloud Composer](/composer/docs/composer-2/configure-cmek-encryption)\n- [Create environments](/composer/docs/composer-2/create-environments)"]]