Cloud Composer 1 | Cloud Composer 2
Nesta página, explicamos como ativar o salvamento de registros de tarefas do Airflow no bucket de um ambiente novo ou atual.
Todos os ambientes do Composer criados após 26 de março de 2024 não armazenam registros de tarefas no bucket do ambiente por padrão. Os registros de tarefas ainda estão disponíveis no Cloud Logging e na interface do Airflow.
Como opção, é possível ativar a sincronização de registros de tarefas com o bucket do ambiente.
Antes de começar
Se você ativar esse recurso, os registros serão salvos no Cloud Logging e no bucket do ambiente.
Quando você faz upgrade do ambiente, a configuração para salvar registros no bucket do ambiente não é alterada. Por exemplo, se você fizer upgrade de um ambiente que salvou registros no bucket do ambiente para uma versão posterior, o ambiente continuará salvando registros nesse bucket.
Se você desativar o salvamento de registros de tarefas no bucket do ambiente, os registros que já foram salvos nesse bucket não serão excluídos automaticamente.
Para ativar ou desativar essa opção, use o Google Cloud CLI, a API Cloud Composer ou o 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
Quando você cria um ambiente, os seguintes argumentos especificam como os registros de tarefas do Airflow precisam ser salvos:
- O argumento
--disable-logs-in-cloud-logging-only
permite salvar os registros de tarefas do Airflow no bucket do ambiente. - O argumento
--enable-logs-in-cloud-logging-only
desativa o salvamento de registros de tarefas do Airflow no bucket do ambiente. Os registros são salvos apenas no 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
Ao criar um ambiente, em 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 no 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
no bloco task_logs_retention_config
especifica como os registros de tarefas do Airflow precisam ser salvos:
CLOUD_LOGGING_AND_CLOUD_STORAGE
para salvar registros no bucket do ambiente e no 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"
}
}
}
}
Ative ou desative o salvamento de registros de tarefas no bucket do ambiente de um ambiente atual
gcloud
Quando você atualiza um ambiente, os seguintes argumentos ativam ou desativam o salvamento de registros de tarefas do Airflow no bucket do ambiente:
- O argumento
--disable-logs-in-cloud-logging-only
permite salvar os registros de tarefas do Airflow no 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 de registros de tarefas do Airflow no bucket do ambiente. Os registros são salvos apenas no Cloud Logging.
Para salvar os 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
Crie uma solicitação de API
environments.patch
.Nesta solicitação:
No parâmetro
updateMask
, especifique a máscaraconfig.dataRetentionConfig.taskLogsRetentionConfig.storageMode
.No corpo da solicitação, especifique como os registros de tarefas do Airflow precisam ser salvos:
CLOUD_LOGGING_AND_CLOUD_STORAGE
para salvar registros no bucket do ambiente e no 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
, especifique no campo storage_mode
como os registros de tarefas do Airflow precisam ser salvos:
CLOUD_LOGGING_AND_CLOUD_STORAGE
para salvar registros no bucket do ambiente e no 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"
}
}
}
}