Ativar o salvamento de registros no bucket do ambiente

Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3

Esta página explica como ativar o salvamento de registros de tarefas do Airflow na para um ambiente novo ou atual.

Como opção, você pode ativar a sincronização de registros de tarefas para o bucket do seu ambiente de execução.

Antes de começar

  • A partir da versão 2.8.0 do Cloud Composer, os ambientes armazenar registros de tarefas no bucket do ambiente por padrão. Os registros de tarefas ainda disponíveis no Cloud Logging e na interface do Airflow.

  • Se você ativar esse recurso, os registros serão salvos no Cloud Logging no bucket do ambiente.

  • Quando você faz o upgrade do ambiente, a configuração para salvar registros do bucket do ambiente não é alterado. Por exemplo, se você atualizar um ambiente que salvou registros no bucket do ambiente em uma versão posterior o ambiente continua salvando registros no bucket dele.

  • Se você desativar o salvamento de registros de tarefas no bucket do ambiente, os registros que já foram salvas no bucket do ambiente não serão excluídas automaticamente.

  • Para ativar ou desativar essa opção, use a Google Cloud CLI, a API Cloud Composer ou Terraform. Não é possível alterar essa opção no console do Google Cloud.

Ativar ou desativar o salvamento de registros de tarefas no bucket do ambiente ao criar um ambiente

gcloud

Ao criar um ambiente, os argumentos a seguir especificam como o Airflow registros de tarefas precisam ser salvos:

  • O argumento --disable-logs-in-cloud-logging-only permite salvar a tarefa do Airflow para o bucket do ambiente.
  • O argumento --enable-logs-in-cloud-logging-only desativa o salvamento da tarefa do Airflow para o bucket do ambiente. Os registros são salvos apenas o Cloud Logging.
gcloud composer environments create ENVIRONMENT_NAME \
    --location LOCATION \
    --disable-logs-in-cloud-logging-only

Substitua:

  • ENVIRONMENT_NAME: o nome do ambiente;
  • LOCATION: a região em que o ambiente está localizado.

Exemplo:

gcloud composer environments create example-environment \
    --location us-central1 \
    --disable-logs-in-cloud-logging-only

API

Quando você cria um ambiente, na seção Environment > EnvironmentConfig > DataRetentionConfig > TaskLogsRetentionConfig, especifique como os registros de tarefas do Airflow precisam ser salvos:

  • CLOUD_LOGGING_AND_CLOUD_STORAGE para salvar registros no bucket do ambiente e o Cloud Logging.
  • CLOUD_LOGGING_ONLY para salvar registros apenas no Cloud Logging.
{
  "name": "projects/PROJECT_ID/locations/LOCATION/environments/ENVIRONMENT_NAME",
  "config": {
    "dataRetentionConfig": {
      "taskLogsRetentionConfig": {
        "storageMode": "CLOUD_LOGGING_AND_CLOUD_STORAGE"
      }
    }
  }
}

Substitua:

  • ENVIRONMENT_NAME: o nome do ambiente;
  • LOCATION: a região em que o ambiente está localizado.
  • PROJECT_ID: o ID do projeto.

Exemplo:

// POST https://composer.googleapis.com/v1/{parent=projects/*/locations/*}/environments

{
  "name": "projects/example-project/locations/us-central1/environments/example-environment",
  "config": {
    "dataRetentionConfig": {
      "taskLogsRetentionConfig": {
        "storageMode": "CLOUD_LOGGING_AND_CLOUD_STORAGE"
      }
    }
  }
}

Terraform

Quando você cria um ambiente, o campo storage_mode na O bloco task_logs_retention_config especifica como os registros de tarefas do Airflow precisam ser salvo:

  • CLOUD_LOGGING_AND_CLOUD_STORAGE para salvar registros no bucket do ambiente e o Cloud Logging.
  • CLOUD_LOGGING_ONLY para salvar registros apenas no Cloud Logging.
resource "google_composer_environment" "example" {
  provider = google-beta
  name = "ENVIRONMENT_NAME"
  region = "LOCATION"

  config {

    data_retention_config {

      task_logs_retention_config {

        storage_mode = "CLOUD_LOGGING_AND_CLOUD_STORAGE"

      }
    }
  }

Substitua:

  • ENVIRONMENT_NAME: o nome do ambiente;
  • LOCATION: a região em que o ambiente está localizado.

Exemplo:

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

  config {

    data_retention_config {

      task_logs_retention_config {

        storage_mode = "CLOUD_LOGGING_AND_CLOUD_STORAGE"

      }
    }
  }
}

Ativar ou desativar o salvamento de registros de tarefas no bucket do ambiente atual

gcloud

Quando você atualiza um ambiente, os seguintes argumentos ativam ou desativam salve registros de tarefas do Airflow no bucket do ambiente:

  • O argumento --disable-logs-in-cloud-logging-only permite salvar a tarefa do Airflow para o bucket do ambiente. Os registros são salvos no bucket do ambiente e no Cloud Logging.
  • O argumento --enable-logs-in-cloud-logging-only desativa o salvamento da tarefa do Airflow para o bucket do ambiente. Os registros são salvos apenas o Cloud Logging.

Para salvar registros do Airflow no bucket do ambiente:

gcloud composer environments update ENVIRONMENT_NAME \
    --location LOCATION \
    --disable-logs-in-cloud-logging-only

Substitua:

  • ENVIRONMENT_NAME: o nome do ambiente;
  • LOCATION: a região em que o ambiente está localizado.

Exemplo:

gcloud composer environments update example-environment \
    --location us-central1 \
    --disable-logs-in-cloud-logging-only

API

  1. Crie uma solicitação de API environments.patch.

  2. Nesta solicitação:

    1. No parâmetro updateMask, especifique config.dataRetentionConfig.taskLogsRetentionConfig.storageMode máscara

    2. No corpo da solicitação, especifique como os registros de tarefas do Airflow precisam ser salvo:

      • CLOUD_LOGGING_AND_CLOUD_STORAGE para salvar registros nos arquivos o bucket e o Cloud Logging.
      • CLOUD_LOGGING_ONLY para salvar registros apenas no Cloud Logging.
{
  "config": {
    "dataRetentionConfig": {
      "taskLogsRetentionConfig": {
        "storageMode": "CLOUD_LOGGING_AND_CLOUD_STORAGE"
      }
    }
  }
}

Exemplo:

// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.dataRetentionConfig.taskLogsRetentionConfig.storageMode

{
  "config": {
    "dataRetentionConfig": {
      "taskLogsRetentionConfig": {
        "storageMode": "CLOUD_LOGGING_AND_CLOUD_STORAGE"
      }
    }
  }
}

Terraform

No bloco task_logs_retention_config, no campo storage_mode, especifique como os registros de tarefas do Airflow precisam ser salvos:

  • CLOUD_LOGGING_AND_CLOUD_STORAGE para salvar registros no bucket do ambiente e o Cloud Logging.
  • CLOUD_LOGGING_ONLY para salvar registros apenas no Cloud Logging.
resource "google_composer_environment" "example" {
  provider = google-beta
  name = "ENVIRONMENT_NAME"
  region = "LOCATION"

  config {

    data_retention_config {

      task_logs_retention_config {

        storage_mode = "CLOUD_LOGGING_AND_CLOUD_STORAGE"

      }
    }
  }

Substitua:

  • ENVIRONMENT_NAME: o nome do ambiente;
  • LOCATION: a região em que o ambiente está localizado.

Exemplo:

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

  config {

    data_retention_config {

      task_logs_retention_config {

        storage_mode = "CLOUD_LOGGING_AND_CLOUD_STORAGE"

      }
    }
  }
}

A seguir