Il 15 settembre 2026, tutti gli ambienti Cloud Composer 1 e Cloud Composer 2 versione 2.0.x raggiungeranno la fine del ciclo di vita pianificata e non potrai più utilizzarli. Ti consigliamo di pianificare la migrazione a Cloud Composer 3.
Quando crei un ambiente, puoi specificare un bucket Cloud Storage personalizzato come bucket dell'ambiente. Il tuo ambiente utilizza questo bucket come
bucket dell'ambiente predefinito,
ma il bucket dell'ambiente predefinito non viene creato.
Con un bucket personalizzato puoi:
Utilizza una configurazione del bucket conforme ai tuoi requisiti.
Utilizza un bucket esistente continuamente per scopi di sviluppo o test periodici.
Riutilizza un bucket esistente da un ambiente precedente e mantieni le integrazioni CI/CD e dei dati.
Elimina e ricrea un ambiente senza dover trasferire i dati tra i bucket.
Precompila il bucket personalizzato con i dati richiesti, ad esempio i file DAG,
e poi crea un ambiente.
Prima di iniziare
Questa funzionalità è supportata a partire dalla versione 2.5.0 di Cloud Composer. Le versioni precedenti di Cloud Composer 2 non supportano questa
funzionalità.
Il bucket personalizzato deve trovarsi nella stessa regione dell'ambiente.
I bucket con più regioni e con due regioni non sono supportati.
Il bucket personalizzato e l'ambiente devono trovarsi nello stesso progetto.
Non è possibile utilizzare lo stesso bucket personalizzato con più ambienti contemporaneamente. Cloud Composer genera un errore se il
bucket specificato è già utilizzato da un altro ambiente. È possibile eliminare un ambiente e utilizzare lo stesso bucket per un altro ambiente.
Se hai attivato il salvataggio dei log nel bucket dell'ambiente, se elimini un ambiente e utilizzi lo stesso bucket per un altro ambiente, il nuovo ambiente non mostra i log delle attività Airflow dell'ambiente precedente nell'interfaccia utente di Airflow. I log rimangono nel bucket, ma il nuovo ambiente non li associa a nessuna esecuzione di DAG.
Cloud Composer non aggiunge le autorizzazioni IAM mancanti al bucket Cloud Storage quando viene utilizzato per creare un ambiente. Assicurati che l'account di servizio dell'ambiente disponga delle
autorizzazioni del ruolo Composer Worker sul bucket.
Creare un ambiente con un bucket personalizzato
Console
Per specificare un bucket Cloud Storage personalizzato quando crei un ambiente:
Nella pagina Crea ambiente, fai clic su Mostra configurazione avanzata nella sezione Configurazione avanzata.
Seleziona Bucket personalizzato.
Nel campo Nome bucket, specifica o seleziona un bucket.
gcloud
Quando crei un ambiente, l'argomento --storage-bucket specifica il
bucket personalizzato dell'ambiente.
CUSTOM_STORAGE_BUCKET: il nome di un bucket Cloud Storage
(senza il prefisso gs://).
Esempio:
// 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
Quando crei un ambiente, il campo bucket nel
blocco storage_config specifica il bucket personalizzato dell'ambiente.
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Difficile da capire","hardToUnderstand","thumb-down"],["Informazioni o codice di esempio errati","incorrectInformationOrSampleCode","thumb-down"],["Mancano le informazioni o gli esempi di cui ho bisogno","missingTheInformationSamplesINeed","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 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,["\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- 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\nConsole\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\ngcloud\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\nAPI\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\nTerraform\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- [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)"]]