Airflow gerenciado (Geração 3) | Airflow gerenciado (Geração 2) | Airflow gerenciado (Geração 1 legada)
Esta página explica como ativar o salvamento de registros de tarefas do Airflow no bucket do ambiente para um ambiente novo ou atual.
Como opção, é possível ativar a sincronização de registros de tarefas com o bucket do ambiente.
Sobre o salvamento de registros no bucket do ambiente
O salvamento de registros no bucket do ambiente funciona da seguinte maneira:
Desativado (padrão): os registros de tarefas estão disponíveis no Cloud Logging. É possível visualizá-los na interface do Airflow e no Cloud Logging. Os arquivos de registro de tarefas não são salvos no bucket do ambiente.
Se o salvamento de registros no bucket do ambiente estiver desativado e você o ativar, os registros de tarefas exibidos na interface do Airflow não mostrarão entradas de registro geradas enquanto os registros eram salvos apenas no Cloud Logging. Esses registros não são perdidos, eles ainda estão disponíveis no Cloud Logging.
Ativado: os registros de tarefas são salvos no Cloud Logging e no bucket do ambiente. É possível visualizá-los na interface do Airflow e no Cloud Logging. O bucket do ambiente armazena arquivos com esses registros.
Se o salvamento de registros no bucket do ambiente estiver ativado e você o desativar, os registros que já foram salvos no bucket do ambiente não serão excluídos e permanecerão armazenados no bucket.
Antes de começar
A partir da versão 2.8.0 do Airflow gerenciado, todos os ambientes 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.
Ao fazer 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 mais recente, o ambiente continuará salvando registros no bucket do ambiente.
Para ativar ou desativar essa opção, use a Google Cloud CLI, a API Cloud Composer ou o Terraform. Não é possível mudar essa opção pelo Google Cloud console.
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 os registros de tarefas do Airflow precisam ser salvos:
- O argumento
--disable-logs-in-cloud-logging-onlyativa o salvamento de registros de tarefas do Airflow no bucket do ambiente. - O argumento
--enable-logs-in-cloud-logging-onlydesativa 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, no recurso Ambiente > EnvironmentConfig > DataRetentionConfig > TaskLogsRetentionConfig, especifique como os registros de tarefas do Airflow precisam ser salvos:
CLOUD_LOGGING_AND_CLOUD_STORAGEpara salvar registros no bucket do ambiente e no Cloud Logging.CLOUD_LOGGING_ONLYpara 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
Ao criar 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_STORAGEpara salvar registros no bucket do ambiente e no Cloud Logging.CLOUD_LOGGING_ONLYpara 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 para um ambiente atual
gcloud
Ao atualizar um ambiente, os argumentos a seguir ativam ou desativam o salvamento de registros de tarefas do Airflow no bucket do ambiente:
- O argumento
--disable-logs-in-cloud-logging-onlyativa o salvamento de 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-onlydesativa o salvamento de registros de tarefas do Airflow no bucket do ambiente. Os registros são salvos apenas no 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
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_STORAGEpara salvar registros no bucket do ambiente e no Cloud Logging.CLOUD_LOGGING_ONLYpara 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_STORAGEpara salvar registros no bucket do ambiente e no Cloud Logging.CLOUD_LOGGING_ONLYpara 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"
}
}
}
}