Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3
No Cloud Composer 2, especifique um bucket personalizado do Cloud Storage como bucket do ambiente ao criá-lo. Seu ambiente usa este bucket da mesma maneira que o bucket padrão do ambiente, e o bucket do ambiente padrão não será criado.
Com um bucket personalizado, é possível:
- Use uma configuração de bucket que atenda aos seus requisitos.
- Use um bucket atual para fins de desenvolvimento ou teste periódicos.
- Reutilize um bucket de um ambiente anterior e mantenha as integrações de CI/CD e dados.
- Exclua e recrie um ambiente sem a necessidade de transferir dados entre buckets.
- Pré-preencher o bucket personalizado com os dados necessários, como arquivos DAG e criar um ambiente.
Antes de começar
- Esse recurso tem suporte a partir da versão 2.5.0 do Cloud Composer. As versões anteriores do Cloud Composer 2 não oferecem suporte a esse recurso.
- O bucket personalizado precisa estar localizado na mesma região que o ambiente. Não há suporte a buckets multirregionais e birregionais.
- O bucket personalizado e o ambiente precisam estar no mesmo projeto.
- O bucket personalizado precisa ter a classe de armazenamento padrão.
- O bucket personalizado não pode ter políticas de retenção ou bloqueios da política de retenção aplicados a ela.
- Não é possível usar o mesmo bucket personalizado com vários ambientes ao mesmo tempo. O Cloud Composer gera um erro quando se o bucket especificado já estiver sendo usado por outro ambiente. É possível excluir um ambiente e usar o mesmo bucket em outro.
- Se você excluir um ambiente e usar o mesmo bucket para outro, o novo ambiente não vai mostrar os registros de tarefas do Airflow do ambiente anterior na interface do Airflow. Os registros permanecem no bucket, o novo ambiente não os associa a nenhuma execução do DAG.
Criar um ambiente com um bucket personalizado
Console
Para especificar um bucket personalizado do Cloud Storage ao criar um ambiente:
- Na página Criar ambiente, em Configuração avançada clique em Mostrar configuração avançada.
- Selecione Bucket personalizado.
- No campo Nome do bucket, especifique ou selecione um bucket.
gcloud
Quando você cria um ambiente, o argumento --storage-bucket
especifica o
bucket personalizado do ambiente.
gcloud composer environments create ENVIRONMENT_NAME \
--location LOCATION \
--storage-bucket CUSTOM_STORAGE_BUCKET
Substitua:
ENVIRONMENT_NAME
: o nome do ambiente;LOCATION
: a região em que o ambiente está localizado.CUSTOM_STORAGE_BUCKET
: o nome de um bucket do Cloud Storage. Você também pode especificar o URI do bucket (com o prefixogs://
).
Exemplo:
gcloud composer environments create example-environment \
--location us-cental1 \
--storage-bucket us-central1-example-bucket
API
Ao criar um ambiente, no recurso Ambiente > StorageConfig, especifique um bucket personalizado para seu ambiente.
{
"name": "projects/PROJECT_ID/locations/LOCATION/environments/ENVIRONMENT_NAME",
"storageConfig": {
"bucket": "CUSTOM_STORAGE_BUCKET"
}
}
Substitua:
PROJECT_ID
: o ID do projeto.LOCATION
: a região em que o ambiente está localizado.ENVIRONMENT_NAME
: o nome do ambiente;CUSTOM_STORAGE_BUCKET
: o nome de um bucket do Cloud Storage (sem o prefixogs://
).
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 você cria um ambiente, o campo bucket
na
O bloco storage_config
especifica o bucket personalizado do ambiente.
resource "google_composer_environment" "example" {
provider = google-beta
name = "ENVIRONMENT_NAME"
region = "LOCATION"
storage_config {
bucket = CUSTOM_STORAGE_BUCKET
}
}
Substitua:
ENVIRONMENT_NAME
: o nome do ambiente;LOCATION
: a região em que o ambiente está localizado.CUSTOM_STORAGE_BUCKET
: o nome de um bucket do Cloud Storage. Você também pode especificar o URI do bucket (com o prefixogs://
).
Exemplo:
resource "google_composer_environment" "example" {
provider = google-beta
name = "example-environment"
region = "us-central1"
storage_config {
bucket = "gs://us-central1-example-bucket"
}
}