ייצוא פרטי משימות

במאמר הזה מוסבר איך לייצא את המידע על המשימות שלכם שמאוחסן ב-Batch לטבלה ב-BigQuery באמצעות Workflows. בפרט, תוכלו ללמוד איך להריץ את זרימת העבודה לדוגמה export-jobs ואיך לראות את פרטי העבודה שמתקבלים ב-BigQuery.

ייצוא של פרטי משימה שימושי כשרוצים לשמור את המידע אחרי שמשימה נמחקת אוטומטית או ידנית, או כדי לנתח את המידע מחוץ ל-Batch. לחלופין, אם אתם רוצים לייצא ל-BigQuery רק מידע על שינויים במצב של משימות ועבודות, אתם יכולים לעיין במאמר מעקב אחרי עבודות באמצעות התראות.

כדי ללמוד איך לייצא מידע על משרות שמאוחסן בGoogle Cloud שירותים אחרים, אפשר לעיין במסמכי התיעוד של הייצוא של אותו שירות. לדוגמה, אפשר לעיין בדפים הבאים:

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

  1. אם עוד לא השתמשתם ב-Batch, כדאי לעיין במאמר תחילת העבודה עם Batch ולהפעיל את Batch על ידי השלמת הדרישות המוקדמות לפרויקטים ולמשתמשים.
  2. מפעילים את ממשקי ה-API של BigQuery ו-Workflows.

    תפקידים שנדרשים להפעלת ממשקי API

    כדי להפעיל ממשקי API, נדרשת ההרשאה serviceusage.services.enable. אם יצרתם את הפרויקט, סביר להניח שכבר יש לכם את ההרשאה הזו דרך התפקיד 'בעלים' (roles/owner). אחרת, תוכלו לקבל את ההרשאה הזו דרך התפקיד 'אדמין בממשק Service Usage' (roles/serviceusage.serviceUsageAdmin). איך מקצים תפקידים

    הפעלת ממשקי ה-API

  3. אופציונלי: מזהים מערך נתונים או טבלה קיימים ב-BigQuery בפרויקט שבהם רוצים לאחסן את פרטי העבודה. לטבלה קיימת צריכה להיות סכימה תואמת.

    אפשרות אחרת היא להשתמש בתהליך העבודה של export-jobs כדי ליצור מערך נתונים או טבלה חדשים.

  4. כדי להכין חשבון שירות לתהליך העבודה של export-jobs, צריך לבצע את הפעולות הבאות:

    1. יוצרים חשבון שירות חדש או מאתרים חשבון שירות קיים.
    2. כדי לוודא שלחשבון השירות יש את ההרשאות הנדרשות להפעלת תהליך העבודה של ייצוא משימות, צריך לבקש מהאדמין להקצות לחשבון השירות את תפקידי ה-IAM הבאים בפרויקט:

      • כתיבת יומנים: Logs Writer (roles/logging.logWriter)
      • יצירה ועריכה של מערכי נתונים וטבלאות ב-BigQuery: BigQuery Admin (roles/bigquery.admin)
      • צפייה במשימות Batch ומחיקה שלהן: עורך משימות Batch (roles/batch.jobsEditor)

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

      יכול להיות שהאדמין גם יוכל לתת לחשבון השירות את ההרשאות שנדרשות באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.

  5. כדי לקבל את ההרשאות שדרושות ליצירה, לפריסה ולהרצה של תהליך העבודה export-jobs, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים בפרויקט:

  6. מוודאים שהמשתמשים בפרויקט יכולים לראות את פרטי המשימה שיוצאו.

    כדי לוודא שלמשתמש יש את ההרשאות הנדרשות לייצוא פרטי משימות, צריך לבקש מהאדמין להקצות למשתמש את תפקיד ה-IAM‏ BigQuery Data Viewer (roles/bigquery.dataViewer) בטבלה, במערך הנתונים או בפרויקט.

ייצוא של פרטי משימות

בקטע הזה מוסבר איך לייצא מידע על משרות באמצעות תהליך העבודה לייצוא משרות, שמופיע בexport-to-bigquery בדוגמת הקוד. תהליך העבודה export-jobs מייצא את המידע על המשימות בפרויקט שנמצאות באזור שצוין ועומדות בקריטריוני הסינון שצוינו.

תהליך העבודה export-jobs מייצא את פרטי המשימות לטבלה שצוינה במערך נתונים שצוין, שנוצרים באופן אוטומטי על ידי תהליך העבודה אם הם עדיין לא קיימים בפרויקט. כברירת מחדל, תהליך העבודה של export-jobs גם מוחק את המשימות המיוצאות מ-Batch, אבל אפשר לערוך את תהליך העבודה של export-jobs כדי שהמשימות לא יימחקו.

לכל זרימת עבודה של ייצוא משימות שרוצים להשתמש בה:

  1. הגדרת הגדרת תהליך העבודה.
  2. יוצרים את תהליך העבודה ופורסים אותו.
  3. מריצים את תהליך העבודה. חוזרים על השלב הזה בכל פעם שרוצים לייצא את המשימות שצוינו.

הגדרת ההגדרה של תהליך העבודה

  1. מורידים את הקובץ export-to-bigquery-delete-batch-jobs.yaml מ-GitHub.

  2. פותחים את הקובץ export-to-bigquery-delete-batch-jobs.yaml בכלי לעריכת טקסט. לאחר מכן, מבצעים את השינויים הבאים:

    1. מחליפים את sys.get_env("GOOGLE_CLOUD_PROJECT_ID") במזהה הפרויקט בפורמט של מחרוזת, לדוגמה, "my-project-id".

    2. מחליפים את sys.get_env("GOOGLE_CLOUD_LOCATION") באזור שמכיל את המשרות שרוצים לייצא, בפורמט של מחרוזת – לדוגמה, "us-central1".

    3. אופציונלי: עורכים את קריטריוני הסינון שמציינים אילו משרות לייצא.

      כברירת מחדל, תהליך העבודה export-jobs מציין את קריטריוני הסינון "(status.state:SUCCEEDED OR status.state:FAILED OR status.state:CANCELLED) AND create_time<=\"2023-05-01T00:00:00Z\"". קריטריוני הסינון האלה מוגדרים כברירת מחדל, והם מאפשרים לייצא מידע רק על משרות שנמצאות במצב SUCCEEDED, FAILED או CANCELLED, ושנוצרו לפני או עד חותמת הזמן 2023-05-01T00:00:00Z RFC 3339.

    4. אופציונלי: מחליפים את default_dataset_id בשם אחר של מערך הנתונים שרוצים שתהליך העבודה של משימות הייצוא ישתמש בו או ייצור אותו.

    5. אופציונלי: מחליפים את default_table_id בשם אחר של הטבלה שרוצים שתהליך העבודה של משימות הייצוא ישתמש בה או ייצור אותה.

    6. אם אתם לא רוצים שתהליך העבודה ימחק את המשימות המיוצאות, אתם צריכים:

      1. מסירים את השורות הבאות:

                - log_delete_step:
                    call: sys.log
                    args:
                      text: ${"Deleting Batch job " + j.name}
                      severity: NOTICE
                - delete_job:
                    call: googleapis.batch.v1.projects.locations.jobs.delete
                    args:
                      name: ${j.name}
        
      2. הסרה של + " and deleted".

    7. שומרים את הקובץ. משאירים את הקובץ פתוח.

יצירה ופריסה של תהליך העבודה

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

    כניסה לדף Workflows

  2. בדף Workflows (תהליכי עבודה), לוחצים על Create (יצירה).

  3. בשדה Workflow name (שם תהליך העבודה), מזינים שם לתהליך העבודה, לדוגמה, export-batch-jobs-us-central1.

  4. ברשימה Service account, בוחרים את חשבון השירות שהכנתם.

  5. לוחצים על הבא.

  6. בכלי לעריכת תהליכי עבודה, מחליפים את תהליך העבודה לדוגמה בתוכן של הקובץ export-to-bigquery-delete-batch-jobs.yaml. אחר כך אפשר לסגור את הקובץ.

  7. לוחצים על פריסה. ייפתח הדף פרטי תהליך העבודה.

ביצוע תהליך העבודה

  1. בדף פרטי תהליך העבודה, לוחצים על הפעלה. ייפתח הדף הפעלת תהליך העבודה.

  2. בדף הפעלת תהליך העבודה שנפתח, לוחצים על הפעלה.

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

    אחרי שהזרימה מסתיימת, התוצאות מוצגות בחלונית Output.

צפייה בפרטי המשרה שיוצאו

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

  1. במסוף Google Cloud , עוברים לדף BigQuery:

    כניסה לדף BigQuery

  2. בחלונית Explorer, פותחים את הטבלה עם פרטי המשימה שייצאתם:

    1. בשדה חיפוש משאבים ב-BigQuery, מזינים את שם הטבלה מתוך תהליך העבודה של משימות הייצוא. לדוגמה, שם הטבלה שמוגדר כברירת מחדל הוא default_table_id.
    2. לוחצים על שם הטבלה. ייפתח דף הפרטים של הטבלה.
    3. בדף פרטי הטבלה, לוחצים על הכרטיסייה פרטים.

      בכרטיסייה פרטים, רושמים את חותמת הזמן של השינוי האחרון ואת מספר השורות.

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

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