בדף הזה מתואר המאגר שבו מאוחסן קוד Apache Airflow שעבר תיקון, שמשמש ב-Managed Airflow.
מידע על המאגר
מאגר Composer-Airflow הוא מאגר לקריאה בלבד שמכיל את קוד Apache Airflow המתוקן שפועל ב-Managed Airflow.
גרסה מסוימת של Apache Airflow שנמצאת ב-Managed Airflow לא תמיד תואמת בדיוק לגרסה המקבילה ב-upstream Airflow, כי ב-Managed Airflow נעשה שימוש בגרסה מתוקנת של Airflow. במאגר הזה נמצא הקוד של כל גרסה עם תיקון של Airflow שמשמשת ב-Managed Airflow. למידע על הגרסאות של Airflow שזמינות ב-Managed Airflow, אפשר לעיין ברשימת הגרסאות של Managed Airflow.
תרומה
הקוד הזה הוא לא הסתעפות של Apache Airflow. הקוד שנמצא במאגר הזה מגיע ישירות ממאגר Apache Airflow, אבל הוא נוצר בפרק זמן שונה מזה של גרסאות רגילות של Apache Airflow.
אם רוצים לתרום לבסיס הקוד הזה, אפשר לתרום ישירות ל-Airflow במקום. אל תעשו זאת במאגר הזה כי לא מתקבלות בו בקשות למשיכת שינויים.
בעיות ותמיכה
- אם נתקלתם בבעיה בקוד שנמצא במאגר הזה, אתם יכולים ליצור בעיה ישירות במאגר Airflow.
- אם נתקלתם בבעיה ב-Managed Airflow, תוכלו להשתמש בערוצי התמיכה של Managed Airflow.
ניווט במאגר
למאגר יש ענף אחד לכל גרסה של Airflow שזמינה ב-Managed Service for Apache Airflow. לא כל הגרסאות של Airflow נתמכות ב-Managed Airflow. ברשימת גרסאות Managed Airflow אפשר לראות אילו גרסאות Airflow נתמכות על ידי גרסה מסוימת של Managed Airflow.
דוגמאות לשימוש
בקטע הזה מפורטות דוגמאות לשימוש במאגר.
האם הקומיט הזה ממאגר Airflow נמצא בגרסה שלי של Managed Airflow?
ערכי ה-SHA1 של הקומיטים במאגר Composer-Airflow לא תואמים לערכי ה-SHA1 של הקומיטים במאגר Airflow במעלה הזרם. אחת הדרכים לחפש קומיט ספציפי היא לחפש את הודעת הקומיט המתאימה.
אי אפשר להשתמש בממשק המשתמש של GitHub כדי לחפש הודעות על ביצוע קומיטים בענפים שאינם ענף ברירת המחדל, אבל אפשר לעשות זאת באמצעות git CLI. כדי לחפש קומיט מסוים במאגר הזה, צריך להתקין את git.
כדי לחפש הודעת קומיט באמצעות git CLI:
משכפלים את המאגר ועוברים לספריית המאגר באמצעות הפקודה הבאה:
git clone git@github.com:GoogleCloudPlatform/composer-airflow.git && \ cd composer-airflowמחפשים את הודעת ה-commit:
git log --source --grep="COMMIT_MESSAGE" --allבפקודה הזו:
- ב-
--sourceמוצג הענף שבו נמצאת ההתחייבות -
--grepמציין את ההודעה שצריך לחפש ביומן --allחיפוש בכל הענפים
- ב-
הענף ממוקם לצד הגיבוב של הקומיט בשורה הראשונה של כל תוצאה. אם הפקודה מחזירה קומיט, זה אומר שהיא נמצאת בגרסה שלכם של Managed Airflow. בנוסף, אם גרסת Airflow בסביבה שלכם מאוחרת יותר מגרסת הענף, הקומיט ישמש בגרסת Airflow של הסביבה שלכם.
לדוגמה, אם רוצים לחפש את הודעת הקומיט
Force explicit choice on GPL dependency, הפקודה תהיה:
git log --source --grep="Force explicit choice on GPL dependency" --all
אם יש התאמה לקומיט, התוצאות ייראו כמו בדוגמה הבאה. יכול להיות שיופיעו כמה תוצאות.
commit 64ff1089e30e80b08bf5155edd9e49f5293ebbe4 refs/heads/<strong>1.10.2</strong>
Author: example_airflow_committer <example_airflow_committer@users.noreply.github.com>
Date: Wed Aug 1 11:25:31 2018 +0200
[AIRFLOW-2817] Force explicit choice on GPL dependency (#3660)
By default one of Apache Airflow's dependencies pulls in a GPL
library. Airflow should not install (and upgrade) without an explicit choice.
This is part of the Apache requirements as we cannot depend on Category X
software.
(cherry picked from commit c37fc0b6ba19e3fe5656ae37cef9b59cef3c29e8)
Signed-off-by: Example Airflow Committer <example_airflow_committer@users.noreply.github.com>
(cherry picked from commit b39e4532d9d1086c60b31553d08972bcc68df641)
Signed-off-by: Example Airflow Committer <example_airflow_committer@users.noreply.github.com>
GitOrigin-RevId: cefcf4c61f64be3792cbfed509b82a9eb4cc47be
איך נראה האופרטור הזה של Airflow בגרסה שלי של Managed Airflow?
אופרטורים של Airflow והקוד הנלווה אליהם נארזים ומופצים בנפרד מליבת Airflow בחבילות PyPI שנקראות חבילות ספק.
חלק מהחבילות האלה מותקנות כברירת מחדל ב-Managed Airflow. כדי לדעת איזו גרסה מותקנת בסביבה שלכם, בודקים את רשימת החבילות של גרסת Managed Airflow בסביבה שלכם ברשימת הגרסאות.
ממשק המשתמש של GitHub
כדי לראות את הקוד של אופרטור בגרסה מסוימת של חבילת ספק:
עוברים אל מאגר Airflow במעלה הזרם.
מזינים את שם האופרטור שרוצים לחפש בסרגל החיפוש של GitHub.
אם מוחזרים יותר מקובץ אחד, לוחצים על קובץ הקוד עם נתיב שמתחיל ב-
airflow/providers.לדוגמה, אם מחפשים את
GoogleCloudStorageCreateBucketOperatorואז בוחרים ב-airflow/providers/google/cloud/operators/gcs.py.לוחצים על בורר הענפים כדי לפתוח את התפריט הנפתח החלפת ענפים/תגים.
לוחצים על הכרטיסייה Tags (תגים).
במקרה של חבילות
providers, מקלידיםproviders-PROVIDER_NAME/PROVIDER_VERSIONבסרגל החיפוש של הרשימה הנפתחת כדי לחפש את שם הספק ואת הגרסה.PROVIDER_NAMEהוא שם הספק ו-PROVIDER_VERSIONהוא שם הגרסה שאתם מחפשים.לדוגמה, אם רוצים לראות את גרסה
10.0.0של חבילתapache-airflow-providers-google, מחפשים אתproviders-google/10.0.0.עבור חבילות
backport-providers, שמשמשות ב-Airflow 1, מחפשים אתbackport-providers-PROVIDER_VERSIONבסרגל החיפוש של הרשימה הנפתחת.לדוגמה, אם רוצים לראות את גרסה
2021.3.3של חבילתapache-airflow-backport-providers-google, מחפשים אתbackport-providers-2021.3.3.לוחצים על התוצאה שמתאימה לשאילתה.
הקוד שמופיע במסך הוא הקוד שפועל בגרסה של האופרטור. אפשר גם ללחוץ על היסטוריה כדי לראות את היסטוריית השמירה עד לנקודה הזו.
git CLI
כדי לראות את הקוד של אופרטור בגרסה מסוימת של חבילת ספק:
משכפלים את מאגר Airflow במעלה הזרם.
עבור חבילות
providers, מריצים את הפקודהgit checkout providers-PROVIDER_NAME/PROVIDER_VERSION, כאשרPROVIDER_NAMEהוא שם הספק ו-PROVIDER_VERSIONהוא שם הגרסה שמחפשים.לדוגמה, אם רוצים לראות את גרסה
10.0.0של חבילתapache-airflow-providers-google, מריצים את הפקודהgit checkout providers-google/10.0.0.עבור חבילות
backport-providers, שמשמשות ב-Airflow 1, מריצים את הפקודהgit checkout backport-providers-PROVIDER_VERSION.לדוגמה, אם רוצים לראות את גרסה
2021.3.3של חבילתapache-airflow-backport-providers-google,מריצים את הפקודהgit checkout backport-providers-2021.3.3.אם אתם לא יודעים את נתיב הקובץ של האופרטור, אתם יכולים לחפש אותו באמצעות הפקודה
git grep. בדוגמה הבאה אפשר לראות איך מחפשים את GoogleCloudStorageCreateBucketOperator.git grep GoogleCloudStorageCreateBucketOperatorהפלט הוא רשימה של קבצים שבהם נמצאת המחרוזת (במקרה הזה, שם האופרטור). מהרשימה הזו, עוברים לקובץ ובודקים את התוכן שלו.
airflow/contrib/operators/gcs_operator.py:class GoogleCloudStorageCreateBucketOperator(BaseOperator): airflow/contrib/operators/gcs_operator.py: CreateBucket = GoogleCloudStorageCreateBucketOperator( airflow/contrib/operators/gcs_operator.py: super( GoogleCloudStorageCreateBucketOperator, self).__init__(*args, **kwargs) docs/code.rst:.. autoclass:: airflow.contrib.operators.gcs_operator.Google CloudStorageCreateBucketOperator docs/integration.rst:- :ref:`GoogleCloudStorageCreateBucketOperator` : Creates a new cloud storage bucket. docs/integration.rst:.. _GoogleCloudStorageCreateBucketOperator: docs/integration.rst:GoogleCloudStorageCreateBucketOperator docs/integration.rst:.. autoclass:: airflow.contrib.operators.gcs_operator .GoogleCloudStorageCreateBucketOperator tests/contrib/operators/test_gcs_operator.py:from airflow.contrib.operators.gcs_operator import GoogleCloudStorageCreateBucketOperator tests/contrib/operators/test_gcs_operator.py: operator = GoogleCloudStorageCreateBucketOperator(
המאמרים הבאים
- הפעלת סביבת Airflow מקומית באמצעות כלי ה-CLI של Composer לפיתוח מקומי