התקנת פלאגינים בהתאמה אישית

Managed Airflow (דור 3) | Managed Airflow (דור 2) | Managed Airflow (דור 1 מדור קודם)

בדף הזה מוסבר איך להתקין פלאגינים בהתאמה אישית בסביבת Managed Service for Apache Airflow.

מנהל הפלאגינים של Apache Airflow מאפשר לכם לכתוב מפעילים, ווים, חיישנים או ממשקים מותאמים אישית של Apache Airflow. מידע נוסף מופיע במאמר בנושא תוספים בהתאמה אישית במסמכי העזרה של Airflow.

מידע על תוספים בהתאמה אישית

כשיוצרים סביבה, Managed Airflow יוצר קטגוריה של Cloud Storage ומקשר את הקטגוריה הזו לסביבה. כדי להתקין תוספים בהתאמה אישית, משתמשים בתיקייה plugins בקטגוריה של הסביבה.

לפני שמתחילים

  • צריכה להיות לכם הרשאה בחשבון שמאפשרת לכם לראות ולשנות את התוכן של הקטגוריה בסביבה שלכם.
  • שיטת ההתקנה הזו רלוונטית רק לתוספים של Airflow. לדוגמה, אי אפשר להשתמש בשיטה הזו כדי להתקין מודולים נפוצים של Python או ספריות אחרות.
  • התוספים צריכים לעמוד בהנחיות של תבנית התוספים של Airflow.

  • ב-Managed Airflow (דור 3) אין תמיכה בפלאגינים מותאמים אישית לתזמון של Airflow ולטריגר של Airflow. תוספים לא מסונכרנים עם הרכיבים האלה בסביבה שלכם. זה כולל תכונות של Airflow שמסתמכות על תוספים, כמו לוחות זמנים מותאמים אישית ומאזינים ברמת DAG. יש תמיכה ב-listeners ברמת המשימה וב-TimeTables מובנים.

התקנת פלאגין

כדי להתקין פלאגין בהתאמה אישית בסביבת Managed Airflow, מעתיקים את קוד הפלאגין לתיקייה plugins בקטגוריה של הסביבה.

כדי להתקין פלאגין:

המסוף

  1. נכנסים לדף Environments במסוף Google Cloud .

    מעבר אל Environments

  2. מחפשים את הסביבה ולוחצים על הקישור DAGs.

  3. עולים רמה אחת בתיקייה, ואז עוברים לתיקייה plugins/.

  4. מעלים את קובצי הפלאגין. מידע נוסף על העלאת אובייקטים זמין במאמר בנושא העלאת אובייקטים.

gcloud

משתמשים בפקודה gcloud הבאה:

gcloud composer environments storage plugins import \
    --environment ENVIRONMENT_NAME \
    --location LOCATION \
    --source PATH_TO_LOCAL_FILE \
    --destination PATH_IN_SUBFOLDER

מחליפים את:

  • ENVIRONMENT_NAME בשם הסביבה.
  • LOCATION עם האזור שבו הסביבה ממוקמת.
  • PATH_TO_LOCAL_FILE בנתיב של הקובץ שרוצים להעלות.
  • (אופציונלי) PATH_IN_SUBFOLDER עם הנתיב של תיקיית המשנה. משתמשים בארגומנט --destination כדי להעלות פלאגין לתיקיית משנה בתיקייה plugins. אחרת, משמיטים את הארגומנט --destination.

צפייה ברשימת הפלאגינים

המסוף

  1. נכנסים לדף Environments במסוף Google Cloud .

    מעבר אל Environments

  2. מחפשים את הסביבה ולוחצים על הקישור DAGs.

  3. עולים רמה אחת בתיקייה, ואז עוברים לתיקייה plugins/.

  4. צופים בקבצים של הפלאגין.

gcloud

משתמשים בפקודה gcloud הבאה:

gcloud composer environments storage plugins list \
    --environment ENVIRONMENT_NAME \
    --location LOCATION

מחליפים את:

  • ENVIRONMENT_NAME בשם הסביבה.
  • LOCATION עם האזור שבו הסביבה ממוקמת.

מחיקת פלאגין

כדי למחוק פלאגין מסביבת Managed Airflow, צריך למחוק את קוד הפלאגין מהתיקייה plugins בדלי של הסביבה.

כדי למחוק פלאגין:

המסוף

  1. נכנסים לדף Environments במסוף Google Cloud .

    מעבר אל Environments

  2. מחפשים את הסביבה ולוחצים על הקישור DAGs.

  3. עולים רמה אחת בתיקייה, ואז עוברים לתיקייה plugins/.

  4. מוחקים את קובצי הפלאגין. מידע נוסף על מחיקת אובייקטים זמין במאמר מחיקת אובייקטים.

gcloud

משתמשים בפקודה gcloud הבאה:

gcloud composer environments storage plugins delete \
    --environment ENVIRONMENT_NAME \
    --location LOCATION \
    PLUGIN_TO_DELETE

הורדת פלאגינים

כדי להוריד תוספים, בוחרים באחת מהאפשרויות:

המסוף

  1. נכנסים לדף Environments במסוף Google Cloud .

    מעבר אל Environments

  2. מחפשים את הסביבה ולוחצים על הקישור DAGs.

  3. עולים רמה אחת בתיקייה, ואז עוברים לתיקייה plugins/.

  4. מורידים את קובצי הפלאגין. למידע נוסף על מחיקת אובייקטים, אפשר לעיין במאמר הורדת אובייקטים.

gcloud

משתמשים בפקודה gcloud הבאה:

gcloud composer environments storage plugins export \
  --environment ENVIRONMENT_NAME \
  --location LOCATION \
  --destination PATH_TO_LOCAL_DESTINATION \
  --source PATH_IN_FOLDER

מחליפים את:

  • ENVIRONMENT_NAME בשם הסביבה.
  • LOCATION עם האזור שבו הסביבה ממוקמת.
  • PATH_TO_LOCAL_DESTINATION במיקום היעד של הקובץ שהורד.
  • (אופציונלי) --source היא אפשרות להורדה של פלאגין אחד בלבד. ‫PATH_IN_FOLDER הוא נתיב התיקייה.

השבתת פלאגינים של שרתי אינטרנט

ב-Managed Airflow (דור 3), אם נתקלים בבעיות בממשק המשתמש של Airflow, אפשר להשבית תוספים של שרת האינטרנט בלי להסיר אותם מהמאגר של הסביבה.

gcloud

הארגומנטים הבאים של Google Cloud CLI משמשים להשבתה ולהפעלה של תוספים לשרת אינטרנט:

  • --no-support-web-server-plugins: השבתת תוספים של שרת אינטרנט
  • --support-web-server-plugins: הפעלת תוספים לשרת אינטרנט

כדי להשבית את הפלאגינים של שרת האינטרנט, מריצים את הפקודה הבאה של Google Cloud CLI:

gcloud beta composer environments update ENVIRONMENT_NAME \
  --location LOCATION \
  --no-support-web-server-plugins

כדי להפעיל תוספים של שרת אינטרנט, מריצים את הפקודה הבאה של Google Cloud CLI:

gcloud beta composer environments update ENVIRONMENT_NAME \
  --location LOCATION \
  --support-web-server-plugins

מחליפים את מה שכתוב בשדות הבאים:

  • ENVIRONMENT_NAME: שם הסביבה
  • LOCATION: האזור שבו נמצאת הסביבה

API

  1. יוצרים בקשת API של environments.patch.

  2. בבקשה הזו:

    1. בפרמטר updateMask, מציינים את המסכה config.software_config.web_server_plugins_mode.

    2. בגוף הבקשה, בשדה web_server_plugins_mode:

      • מציינים PLUGINS_DISABLED כדי להשבית פלאגינים של שרת אינטרנט.
      • מציינים PLUGINS_ENABLED כדי להפעיל פלאגינים של שרתי אינטרנט.

דוגמה (השבתת תוספים):

// PATCH https://composer.googleapis.com/v1beta1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.software_config.web_server_plugins_mode

"config": {
  "softwareConfig": {
    "web_server_plugins_mode": "PLUGINS_DISABLED"
   }
}

דוגמה (הפעלת תוספים):

// PATCH https://composer.googleapis.com/v1beta1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.software_config.web_server_plugins_mode

"config": {
  "softwareConfig": {
    "web_server_plugins_mode": "PLUGINS_ENABLED"
   }
}

פתרון בעיות שקשורות לתוספים

פלאגינים גורמים לבעיות בממשק המשתמש של Airflow

אפשר להשבית פלאגינים של שרתי אינטרנט בלי למחוק אותם. מידע נוסף זמין במאמר השבתה של פלאגינים לשרתי אינטרנט.

פלאגין שהועלה לאחרונה לא מוצג בממשק המשתמש של Airflow

אם אתם משתמשים בבקרת גישה לממשק המשתמש של Airflow, יכול להיות שהתוסף שהועלה לאחרונה לא יוצג בממשק המשתמש של Airflow. כדי לפתור את הבעיה, צריך לבקש מהאדמין של ממשק המשתמש של Airflow להגדיר גישה לתוסף שהועלה לאחרונה או להקצות לעצמכם את התפקיד Admin בממשק המשתמש של Airflow.

המאמרים הבאים