Managed Airflow (דור 3) | Managed Airflow (דור 2) | Managed Airflow (דור 1 מדור קודם)
בדף הזה מוסבר איך להפעיל שמירה של יומני משימות של Airflow בדלי של הסביבה, בסביבה חדשה או קיימת.
אם רוצים, אפשר להפעיל את הסנכרון של יומני המשימות עם דלי האחסון של הסביבה.
מידע על שמירת יומנים בקטגוריה של הסביבה
שמירת יומנים בקטגוריה של הסביבה מתבצעת באופן הבא:
מושבת (ברירת מחדל): יומני המשימות זמינים ב-Cloud Logging. אפשר לראות אותם בממשק המשתמש של Airflow וב-Cloud Logging. קבצי יומן של משימות לא נשמרים בקטגוריה של הסביבה.
אם השבתתם את השמירה של היומנים בדלי של הסביבה ואז הפעלתם אותה, לא יוצגו רשומות ביומני המשימות בממשק המשתמש של Airflow שנוצרו בזמן שהיומנים נשמרו רק ב-Cloud Logging. היומנים האלה לא אבדו, הם עדיין זמינים ב-Cloud Logging.
מופעל: יומני המשימות נשמרים גם ב-Cloud Logging וגם בקטגוריה של הסביבה. אפשר לראות אותם בממשק המשתמש של Airflow וב-Cloud Logging. הקבצים עם היומנים האלה מאוחסנים בדלי של הסביבה.
אם הפעלתם את האפשרות לשמירת יומנים בקטגוריה של הסביבה ואז השבתתם אותה, היומנים שכבר נשמרו בקטגוריה של הסביבה לא יימחקו וימשיכו להיות מאוחסנים בקטגוריה.
לפני שמתחילים
החל מגרסה 2.8.0 של Managed Airflow, כברירת מחדל, לא נשמרים יומני משימות בקטגוריה של הסביבה בכל הסביבות. יומני המשימות עדיין זמינים ב-Cloud Logging ובממשק המשתמש של Airflow.
כשמשדרגים את הסביבה, ההגדרה לשמירת יומנים בדלי של הסביבה לא משתנה. לדוגמה, אם משדרגים סביבה ששמרה יומנים בקטגוריה של הסביבה לגרסה מאוחרת יותר, הסביבה ממשיכה לשמור יומנים בקטגוריה שלה.
כדי להפעיל או להשבית את האפשרות הזו, אפשר להשתמש ב-Google Cloud CLI, ב-Cloud Composer API או ב-Terraform. אי אפשר לשנות את האפשרות הזו דרך מסוף Google Cloud .
הפעלה או השבתה של שמירת יומני משימות בקטגוריית האחסון של הסביבה כשיוצרים סביבה
gcloud
כשיוצרים סביבה, הארגומנטים הבאים מציינים איך צריך לשמור את יומני המשימות של Airflow:
- הארגומנט
--disable-logs-in-cloud-logging-onlyמאפשר לשמור את יומני המשימות של Airflow בדלי של הסביבה. - הארגומנט
--enable-logs-in-cloud-logging-onlyמשבית את השמירה של יומני המשימות של Airflow בדלי של הסביבה. היומנים נשמרים רק ב-Cloud Logging.
gcloud composer environments create ENVIRONMENT_NAME \
--location LOCATION \
--disable-logs-in-cloud-logging-only
מחליפים את מה שכתוב בשדות הבאים:
-
ENVIRONMENT_NAME: השם של הסביבה. -
LOCATION: האזור שבו נמצאת הסביבה.
דוגמה:
gcloud composer environments create example-environment \
--location us-central1 \
--disable-logs-in-cloud-logging-only
API
כשיוצרים סביבה, במשאב Environment > EnvironmentConfig > DataRetentionConfig > TaskLogsRetentionConfig, מציינים איך לשמור את יומני המשימות של Airflow:
-
CLOUD_LOGGING_AND_CLOUD_STORAGEכדי לשמור יומנים בקטגוריה של הסביבה וב-Cloud Logging. -
CLOUD_LOGGING_ONLYכדי לשמור יומנים רק ב-Cloud Logging.
{
"name": "projects/PROJECT_ID/locations/LOCATION/environments/ENVIRONMENT_NAME",
"config": {
"dataRetentionConfig": {
"taskLogsRetentionConfig": {
"storageMode": "CLOUD_LOGGING_AND_CLOUD_STORAGE"
}
}
}
}
מחליפים את מה שכתוב בשדות הבאים:
-
ENVIRONMENT_NAME: השם של הסביבה. -
LOCATION: האזור שבו נמצאת הסביבה. -
PROJECT_ID: מזהה הפרויקט.
דוגמה:
// 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
כשיוצרים סביבה, השדה storage_mode בבלוק task_logs_retention_config מציין איך צריך לשמור את יומני המשימות של Airflow:
-
CLOUD_LOGGING_AND_CLOUD_STORAGEכדי לשמור יומנים בקטגוריה של הסביבה וב-Cloud Logging. -
CLOUD_LOGGING_ONLYכדי לשמור יומנים רק ב-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"
}
}
}
מחליפים את מה שכתוב בשדות הבאים:
-
ENVIRONMENT_NAME: השם של הסביבה. -
LOCATION: האזור שבו נמצאת הסביבה.
דוגמה:
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"
}
}
}
}
הפעלה או השבתה של שמירת יומני משימות בקטגוריה של הסביבה בסביבה קיימת
gcloud
כשמעדכנים סביבה, הארגומנטים הבאים מאפשרים או משביתים את השמירה של יומני המשימות של Airflow בקטגוריה של הסביבה:
- הארגומנט
--disable-logs-in-cloud-logging-onlyמאפשר לשמור את יומני המשימות של Airflow בדלי של הסביבה. היומנים נשמרים בקטגוריה של הסביבה וב-Cloud Logging. - הארגומנט
--enable-logs-in-cloud-logging-onlyמשבית את השמירה של יומני המשימות של Airflow בדלי של הסביבה. היומנים נשמרים רק ב-Cloud Logging.
כדי לשמור את יומני Airflow בדלי של הסביבה:
gcloud composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--disable-logs-in-cloud-logging-only
מחליפים את מה שכתוב בשדות הבאים:
-
ENVIRONMENT_NAME: השם של הסביבה. -
LOCATION: האזור שבו נמצאת הסביבה.
דוגמה:
gcloud composer environments update example-environment \
--location us-central1 \
--disable-logs-in-cloud-logging-only
API
יוצרים בקשת API של
environments.patch.בבקשה הזו:
בפרמטר
updateMask, מציינים אתconfig.dataRetentionConfig.taskLogsRetentionConfig.storageModeהמסכה.בגוף הבקשה, מציינים איך צריך לשמור את יומני המשימות של Airflow:
-
CLOUD_LOGGING_AND_CLOUD_STORAGEכדי לשמור את היומנים בקטגוריה של הסביבה וב-Cloud Logging. -
CLOUD_LOGGING_ONLYכדי לשמור יומנים רק ב-Cloud Logging.
-
{
"config": {
"dataRetentionConfig": {
"taskLogsRetentionConfig": {
"storageMode": "CLOUD_LOGGING_AND_CLOUD_STORAGE"
}
}
}
}
דוגמה:
// 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
בבלוק task_logs_retention_config, בשדה storage_mode מציינים איך צריך לשמור את יומני המשימות של Airflow:
-
CLOUD_LOGGING_AND_CLOUD_STORAGEכדי לשמור יומנים בקטגוריה של הסביבה וב-Cloud Logging. -
CLOUD_LOGGING_ONLYכדי לשמור יומנים רק ב-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"
}
}
}
מחליפים את מה שכתוב בשדות הבאים:
-
ENVIRONMENT_NAME: השם של הסביבה. -
LOCATION: האזור שבו נמצאת הסביבה.
דוגמה:
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"
}
}
}
}