Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1
En esta página, se explica cómo habilitar el guardado de los registros de tareas de Airflow en el bucket del entorno para un entorno nuevo o existente.
Como opción, puedes habilitar la sincronización de los registros de tareas con el bucket del entorno.
Acerca del guardado de registros en el bucket del entorno
El guardado de registros en el bucket del entorno funciona de la siguiente manera:
Inhabilitado (predeterminado): Los registros de tareas están disponibles en Cloud Logging. Puedes verlos en la IU de Airflow y en Cloud Logging. Los archivos de registro de tareas no se guardan en el bucket del entorno.
Si se inhabilitó el guardado de registros en el bucket del entorno y lo habilitas, los registros de tareas que se muestran en la IU de Airflow no mostrarán las entradas de registro que se generaron mientras los registros se guardaban solo en Cloud Logging. Estos registros no se pierden, sino que siguen disponibles en Cloud Logging.
Habilitado: Los registros de tareas se guardan tanto en Cloud Logging como en el bucket del entorno. Puedes verlos en la IU de Airflow y en Cloud Logging. El bucket del entorno almacena archivos con estos registros.
Si se habilitó el guardado de registros en el bucket del entorno y lo inhabilitas, los registros que ya se guardaron en el bucket del entorno no se borrarán y permanecerán almacenados en el bucket.
Antes de comenzar
A partir de la versión 2.8.0 de Cloud Composer, de forma predeterminada, todos los entornos dejan de almacenar los registros de tareas en el bucket del entorno. Los registros de tareas seguirán disponibles en Cloud Logging y en la IU de Airflow.
Cuando actualizas tu entorno, no se cambia la configuración para guardar registros en el bucket del entorno. Por ejemplo, si actualizas un entorno que guardaba registros en su bucket a una versión posterior, el entorno seguirá guardando registros en su bucket.
Para habilitar o inhabilitar esta opción, puedes usar Google Cloud CLI, la API de Cloud Composer o Terraform. No es posible cambiar esta opción a través de la consola de Google Cloud .
Habilita o inhabilita el guardado de registros de tareas en el bucket del entorno cuando creas un entorno
gcloud
Cuando creas un entorno, los siguientes argumentos especifican cómo se deben guardar los registros de tareas de Airflow:
- El argumento
--disable-logs-in-cloud-logging-only
permite guardar los registros de tareas de Airflow en el bucket del entorno. - El argumento
--enable-logs-in-cloud-logging-only
inhabilita el guardado de los registros de tareas de Airflow en el bucket del entorno. Los registros se guardan solo en Cloud Logging.
gcloud composer environments create ENVIRONMENT_NAME \
--location LOCATION \
--disable-logs-in-cloud-logging-only
Reemplaza lo siguiente:
ENVIRONMENT_NAME
: Es el nombre de tu entorno.LOCATION
: Es la región en la que se encuentra el entorno.
Ejemplo:
gcloud composer environments create example-environment \
--location us-central1 \
--disable-logs-in-cloud-logging-only
API
Cuando creas un entorno, en el recurso Environment > EnvironmentConfig > DataRetentionConfig > TaskLogsRetentionConfig, especifica cómo se deben guardar los registros de tareas de Airflow:
CLOUD_LOGGING_AND_CLOUD_STORAGE
para guardar registros en el bucket del entorno y en Cloud Logging.CLOUD_LOGGING_ONLY
para guardar registros solo en Cloud Logging
{
"name": "projects/PROJECT_ID/locations/LOCATION/environments/ENVIRONMENT_NAME",
"config": {
"dataRetentionConfig": {
"taskLogsRetentionConfig": {
"storageMode": "CLOUD_LOGGING_AND_CLOUD_STORAGE"
}
}
}
}
Reemplaza lo siguiente:
ENVIRONMENT_NAME
: Es el nombre de tu entorno.LOCATION
: Es la región en la que se encuentra el entorno.PROJECT_ID
: Es el ID del proyecto.
Ejemplo:
// 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
Cuando creas un entorno, el campo storage_mode
en el bloque task_logs_retention_config
especifica cómo se deben guardar los registros de tareas de Airflow:
CLOUD_LOGGING_AND_CLOUD_STORAGE
para guardar registros en el bucket del entorno y en Cloud Logging.CLOUD_LOGGING_ONLY
para guardar registros solo en 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"
}
}
}
Reemplaza lo siguiente:
ENVIRONMENT_NAME
: Es el nombre de tu entorno.LOCATION
: Es la región en la que se encuentra el entorno.
Ejemplo:
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"
}
}
}
}
Habilita o inhabilita el guardado de registros de tareas en el bucket del entorno para un entorno existente
gcloud
Cuando actualizas un entorno, los siguientes argumentos habilitan o inhabilitan el guardado de los registros de tareas de Airflow en el bucket del entorno:
- El argumento
--disable-logs-in-cloud-logging-only
permite guardar los registros de tareas de Airflow en el bucket del entorno. Los registros se guardan en el bucket del entorno y en Cloud Logging. - El argumento
--enable-logs-in-cloud-logging-only
inhabilita el guardado de los registros de tareas de Airflow en el bucket del entorno. Los registros se guardan solo en Cloud Logging.
Para guardar los registros de Airflow en el bucket del entorno, haz lo siguiente:
gcloud composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--disable-logs-in-cloud-logging-only
Reemplaza lo siguiente:
ENVIRONMENT_NAME
: Es el nombre de tu entorno.LOCATION
: Es la región en la que se encuentra el entorno.
Ejemplo:
gcloud composer environments update example-environment \
--location us-central1 \
--disable-logs-in-cloud-logging-only
API
Realiza una solicitud a la API de
environments.patch
.En esta solicitud, realiza lo siguiente:
En el parámetro
updateMask
, especifica la máscaraconfig.dataRetentionConfig.taskLogsRetentionConfig.storageMode
.En el cuerpo de la solicitud, especifica cómo se deben guardar los registros de tareas de Airflow:
CLOUD_LOGGING_AND_CLOUD_STORAGE
para guardar registros en el bucket del entorno y en Cloud LoggingCLOUD_LOGGING_ONLY
para guardar registros solo en Cloud Logging
{
"config": {
"dataRetentionConfig": {
"taskLogsRetentionConfig": {
"storageMode": "CLOUD_LOGGING_AND_CLOUD_STORAGE"
}
}
}
}
Ejemplo:
// 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
En el bloque task_logs_retention_config
, en el campo storage_mode
, especifica cómo se deben guardar los registros de tareas de Airflow:
CLOUD_LOGGING_AND_CLOUD_STORAGE
para guardar registros en el bucket del entorno y en Cloud Logging.CLOUD_LOGGING_ONLY
para guardar registros solo en 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"
}
}
}
Reemplaza lo siguiente:
ENVIRONMENT_NAME
: Es el nombre de tu entorno.LOCATION
: Es la región en la que se encuentra el entorno.
Ejemplo:
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"
}
}
}
}