Usar um bucket de ambiente personalizado

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. O ambiente usa esse bucket da mesma forma que o bucket do ambiente padrão, e o bucket do ambiente padrão não é criado.

Com um bucket personalizado, é possível:

  • Use uma configuração de bucket que esteja em conformidade com 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.
  • Preencha o bucket personalizado com os dados necessários, como os arquivos DAG, e crie 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 Classe de armazenamento padrão.
  • O bucket personalizado não pode ter políticas de retenção ou bloqueios de políticas de retenção aplicados.
  • Não é possível usar o mesmo bucket personalizado com vários ambientes ao mesmo tempo. O Cloud Composer gera um erro se o bucket especificado já estiver sendo usado por outro ambiente. É possível excluir um ambiente e usar o mesmo bucket para outro.
  • Se você excluir um ambiente e depois usar o mesmo bucket para outro ambiente, o novo ambiente não exibirá registros de tarefas do Airflow do o 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:

  1. Na página Criar ambiente, na seção Configuração avançada, clique em Mostrar configuração avançada.
  2. Selecione Bucket personalizado.
  3. 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 prefixo gs://).

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 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 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 prefixo gs://).

Exemplo:

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

  storage_config {

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

  }
}

A seguir