מאגר המקורות של הקוד של Managed Airflow

דף זה מתאר את המאגר שמאחסן קוד מתוקן של 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 במקום זאת. אל תעשה זאת במאגר זה מכיוון ש-Pull Requests לא מתקבלות בו.

בעיות ותמיכה

למאגר יש הסתעפות אחת עבור כל גרסה של Airflow הזמינה ב-Managed Service for Apache Airflow. לא כל הגרסאות של Airflow נתמכות ב-Managed Airflow. ניתן לראות אילו גרסאות של Airflow נתמכות על ידי גרסת Managed Airflow מסוימת ברשימת גרסאות של Managed Airflow.

דוגמאות לשימוש

סעיף זה מפרט דוגמאות לשימוש במאגר.

האם זה קומיט ממאגר Airflow בגירסה שלי של Managed Airflow?

ערכי ה-SHA1 של הקומיטים במאגר Composer-Airflow לא תואמים לערכי ה-SHA1 של הקומיטים במאגר Airflow במעלה הזרם. אחת הדרכים לחפש קומיט ספציפי היא לחפש את הודעת הקומיט המתאימה.

אי אפשר להשתמש בממשק המשתמש של GitHub כדי לחפש הודעות על ביצועים בענפים שאינם ענף ברירת המחדל, אבל אפשר לעשות זאת באמצעות git CLI. כדי לחפש קומיט מסוים במאגר הזה, צריך להתקין את git.

כדי לחפש הודעת קומיט באמצעות git CLI:

  1. משכפלים את המאגר ועוברים לספריית המאגר באמצעות הפקודה הבאה:

    git clone git@github.com:GoogleCloudPlatform/composer-airflow.git && \
    cd composer-airflow
    
  2. מחפשים את הודעת ה-commit:

    git log --source --grep="COMMIT_MESSAGE" --all
    

    בפקודה הזו:

    • --source מציג את ההסתעפות שבה נמצאת השמירה
    • --grep מציין את ההודעה שיש לחפש ביומן
    • --all חיפוש בכל הענפים
  3. הענף ממוקם לצד הגיבוב של הקומיט בשורה הראשונה של כל תוצאה. אם הפקודה מחזירה קומיט, זה אומר שהיא נמצאת בגרסה שלכם של Managed Airflow. בנוסף, אם גרסת Airflow בסביבה שלכם מאוחרת יותר מגרסת הענף, הקומיט ישמש בגרסת Airflow של הסביבה שלכם.

לדוגמה, אם רוצים לחפש את הודעת הקומיט Force explicit choice on GPL dependency, הפקודה תהיה:

git log --source --grep="Force explicit choice on GPL dependency" --all

אם יש התאמה לביצוע (commit), התוצאות ייראו כמו בדוגמה הבאה של פלט. יכול להיות שיופיעו כמה תוצאות.

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

כדי לראות את הקוד של אופרטור בגרסה מסוימת של חבילת ספק:

  1. עבור אל מאגר זרימת האוויר במעלה הזרם.

  2. הזן את שם האופרטור שאתה מחפש בסרגל החיפוש של GitHub.

  3. אם מוחזרים יותר מקובץ אחד, לוחצים על קובץ הקוד עם נתיב שמתחיל ב-airflow/providers.

    לדוגמה, אם תחפשו את GoogleCloudStorageCreateBucketOperator, בחרו airflow/providers/google/cloud/operators/gcs.py.

  4. לוחצים על בורר הענפים, שנפתח בתפריט הנפתח החלפת ענפים/תגים.

  5. לוחצים על הכרטיסייה Tags (תגים).

  6. עבור חבילות providers, חפשו את שם הספק שלכם ואת הגרסה על ידי הקלדת providers-PROVIDER_NAME/PROVIDER_VERSION בסרגל החיפוש של הרשימה הנפתחת, כאשר PROVIDER_NAME הוא שם הספק, ו-PROVIDER_VERSION הוא שם הגרסה שאתם מחפשים.

    לדוגמה, אם ברצונך לראות את גרסה 10.0.0 של חבילת apache-airflow-providers-google, עליך לחפש את providers-google/10.0.0.

  7. עבור חבילות backport-providers, אשר משמשות ב-Airflow 1, חפשו את backport-providers-PROVIDER_VERSION בסרגל החיפוש של הרשימה הנפתחת.

    לדוגמה, אם ברצונך לראות את גרסה 2021.3.3 של חבילת apache-airflow-backport-providers-google, חפש את backport-providers-2021.3.3.

  8. לחץ על התוצאה התואמת את שאילתתך.

  9. הקוד שעל המסך הוא מה שפועל בגירסה שלך של האופרטור הזה. ניתן גם ללחוץ על היסטוריה כדי לראות את היסטוריית הפעולות שבוצעו עד לנקודה זו.

גיט ממשק שורת פקודה (CLI)

כדי להסתכל על הקוד עבור אופרטור בגרסת חבילת ספק מסוימת:

  1. שכפל את מאגר Airflow במעלה הזרם.

  2. עבור חבילות 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.

  3. עבור חבילות של 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.

  4. אם אינך יודע את נתיב הקובץ של האופרטור, תוכל לחפש אותו באמצעות הפקודה 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(
    

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