A 15 de setembro de 2026, todos os ambientes do Cloud Composer 1 e do Cloud Composer 2 versão 2.0.x vão atingir o fim da vida útil planeado e não vai poder usá-los. Recomendamos que planeie a migração para o Cloud Composer 3.
Pode especificar um contentor do Google Cloud Storage personalizado como o contentor de um ambiente
quando cria um ambiente. O seu ambiente usa este contentor da mesma forma que o contentor do ambiente predefinido,
e o contentor do ambiente predefinido não é criado.
Com um contentor personalizado, pode:
Use uma configuração de contentor em conformidade com os seus requisitos.
Use um grupo existente continuamente para fins de desenvolvimento ou testes periódicos.
Reutilize um contentor existente de um ambiente anterior e mantenha as integrações de CI/CD e de dados.
Eliminar e recriar um ambiente sem necessidade de transferir dados entre contentores.
Pré-preencha o contentor personalizado com os dados necessários, como os ficheiros DAG,
e, em seguida, crie um ambiente.
Antes de começar
Esta funcionalidade é suportada a partir da versão 2.5.0 do Cloud Composer. As versões anteriores do Cloud Composer 2 não suportam esta funcionalidade.
O contentor personalizado tem de estar localizado na mesma região que o ambiente.
Os contentores multirregionais e de duas regiões não são suportados.
O contentor personalizado e o ambiente têm de estar no mesmo projeto.
Não é possível usar o mesmo conjunto personalizado com vários ambientes ao mesmo tempo. O Cloud Composer gera um erro se o bucket especificado já estiver a ser usado por outro ambiente. É possível
eliminar um ambiente e, em seguida, usar o mesmo contentor para outro ambiente.
Se ativou a opção para guardar registos no contentor do ambiente, se eliminar um ambiente e, em seguida, usar o mesmo contentor para outro ambiente, o novo ambiente não apresenta registos de tarefas do Airflow do ambiente anterior na IU do Airflow. Os registos permanecem no contentor, mas o novo ambiente não os associa a nenhuma execução de DAG.
O Cloud Composer não adiciona autorizações do IAM em falta ao contentor do Cloud Storage quando é usado para criar um ambiente. Certifique-se de que a conta de serviço do ambiente tem
autorizações da função Composer Worker no contentor.
Crie um ambiente com um contentor personalizado
Consola
Para especificar um contentor do Cloud Storage personalizado quando cria um ambiente:
Na página Criar ambiente, na secção Configuração avançada, clique em Mostrar configuração avançada.
Selecione Segmento personalizado.
No campo Nome do contentor, especifique ou selecione um contentor.
gcloud
Quando cria um ambiente, o argumento --storage-bucket especifica o
grupo personalizado do ambiente.
LOCATION: a região onde o ambiente está localizado.
ENVIRONMENT_NAME: o nome do seu ambiente.
CUSTOM_STORAGE_BUCKET: o nome de um contentor do Cloud Storage
(sem o prefixo gs://).
Exemplo:
// 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 cria um ambiente, o campo bucket no bloco storage_config especifica o contentor personalizado do ambiente.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Informações incorretas ou exemplo de código","incorrectInformationOrSampleCode","thumb-down"],["Não contém as informações/amostras de que eu preciso","missingTheInformationSamplesINeed","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 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)"]]