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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  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. בשדה שם תהליך העבודה, מזינים שם לתהליך העבודה, לדוגמה export-batch-jobs-us-central1.

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

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

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

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

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

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

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

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

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

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

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

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

    כניסה לדף BigQuery

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

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

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

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

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