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

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

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

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

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

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

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

    כדי להפעיל ממשקי API, צריך את תפקיד ה-IAM 'אדמין של Service Usage' (roles/serviceusage.serviceUsageAdmin), שכולל את ההרשאה serviceusage.services.enable. איך מקצים תפקידים

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

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

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

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

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

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

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

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

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

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

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

בקטע הזה מוסבר איך לייצא מידע על משרות באמצעות תהליך העבודה export-jobs, שמופיע ב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. בדף פרטי תהליך העבודה, לוחצים על הפעלה. ייפתח הדף Execute workflow (הפעלת תהליך העבודה).

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

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

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

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

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

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

    כניסה לדף BigQuery

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

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

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

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

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