רשימת משימות ב-Dataflow

כדי לראות רשימה של משימות Dataflow, עוברים לדף Dataflow > Jobs במסוף Google Cloud .

כניסה לדף Jobs

מוצגת רשימה של משימות Dataflow עם הסטטוס שלהן.

רשימה של משימות Dataflow עם משימות במצבים 'פועלת', 'נכשלה' ו'הושלמה'.
איור 1: רשימה של משימות Dataflow במסוף Google Cloud עם משימות במצבים Starting,‏ Failed ו-Succeeded.

למשימה יכולים להיות הסטטוסים הבאים:

  • : ממשק המעקב עדיין לא קיבל סטטוס משירות Dataflow.
  • פועלת: המשימה פועלת.
  • מתחיל...: העבודה נוצרה, אבל המערכת צריכה זמן להתכונן לפני ההפעלה.
  • בתור: משימת FlexRS או משימת Flex Template נמצאת בתור להפעלה (התהליך עשוי להימשך כמה דקות).
  • הביטול מתבצע...: המשימה מבוטלת.
  • בוטלה: המשימה בוטלה.
  • Draining...‎ (מתבצע ריקון...): מתבצע ריקון של העבודה.
  • Drained (התרוקן): העבודה התרוקנה.
  • מתבצע עדכון...: העדכון של העבודה מתבצע.
  • עודכן: העבודה עודכנה.
  • הצלחה: העבודה הסתיימה בהצלחה.
  • נכשלה: המשימה לא הושלמה.

גישה לכלים להמחזת נתונים של משרות

כדי לגשת לתרשימים לניטור העבודה, לוחצים על שם העבודה בממשק הניטור של Dataflow. מוצג הדף פרטי משרה, שכולל את הפרטים הבאים:

  • תרשים המשימה: ייצוג חזותי של צינור הנתונים
  • פרטי ההרצה: כלי לאופטימיזציה של ביצועי צינור הנתונים
  • מדדי משימות: מדדים לגבי הפעלת המשימה
  • עלות: מדדים לגבי העלות המשוערת של המשרה
  • התאמה אוטומטית לעומס (Autoscaling): מדדים שקשורים לאירועים של התאמה אוטומטית לעומס של משימות סטרימינג
  • חלונית מידע על משרה: מידע תיאורי על תהליך הגיוס
  • יומני משימות: יומנים שנוצרו על ידי שירות Dataflow ברמת המשימה
  • יומני עובדים: יומנים שנוצרו על ידי שירות Dataflow ברמת העובד
  • אבחון: טבלה שבה מוצגות השגיאות שהתרחשו בציר הזמן שנבחר והמלצות אפשריות לשיפור צינור הנתונים
  • דגימת נתונים: כלי שמאפשר לכם לבחון את הנתונים בכל שלב בצינור.

בדף פרטי המשימה, אפשר לעבור בין תצוגות המשימה באמצעות הכרטיסיות גרף המשימה, פרטי הרצה, מדדי המשימה, עלות והתאמה אוטומטית לעומס.

שימוש ב-Google Cloud CLI כדי להציג רשימה של משימות

אפשר גם להשתמש ב-Google Cloud CLI כדי לקבל רשימה של משימות Dataflow.

כדי להציג את רשימת משימות Dataflow בפרויקט, משתמשים בפקודה dataflow jobs list:

gcloud dataflow jobs list

הפקודה מחזירה רשימה של המשרות הנוכחיות שלכם. זוהי דוגמה לפלט:

  ID                                        NAME                                    TYPE   CREATION_TIME        STATE   REGION
  2015-06-03_16_39_22-4020553808241078833   wordcount-janedoe-0603233849            Batch  2015-06-03 16:39:22  Done    us-central1
  2015-06-03_16_38_28-4363652261786938862   wordcount-johndoe-0603233820            Batch  2015-06-03 16:38:28  Done    us-central1
  2015-05-21_16_24_11-17823098268333533078  bigquerytornadoes-johndoe-0521232402    Batch  2015-05-21 16:24:11  Done    europe-west1
  2015-05-21_13_38_06-16409850040969261121  bigquerytornadoes-johndoe-0521203801    Batch  2015-05-21 13:38:06  Done    us-central1
  2015-05-21_13_17_18-18349574013243942260  bigquerytornadoes-johndoe-0521201710    Batch  2015-05-21 13:17:18  Done    europe-west1
  2015-05-21_12_49_37-9791290545307959963   wordcount-johndoe-0521194928            Batch  2015-05-21 12:49:37  Done    us-central1
  2015-05-20_15_54_51-15905022415025455887  wordcount-johndoe-0520225444            Batch  2015-05-20 15:54:51  Failed  us-central1
  2015-05-20_15_47_02-14774624590029708464  wordcount-johndoe-0520224637            Batch  2015-05-20 15:47:02  Done    us-central1

כדי להציג מידע נוסף על משימה, משתמשים בפקודה dataflow jobs describe:

gcloud dataflow jobs describe JOB_ID

מחליפים את JOB_ID ב-ID. הפלט של הפקודה הזו אמור להיראות כך:

createTime: '2015-02-09T19:39:41.140Z'
currentState: JOB_STATE_DONE
currentStateTime: '2015-02-09T19:56:39.510Z'
id: 2015-02-09_11_39_40-15635991037808002875
name: tfidf-bchambers-0209193926
projectId: google.com:clouddfe
type: JOB_TYPE_BATCH

כדי לעצב את התוצאה בפורמט JSON, מריצים את הפקודה עם האפשרות --format=json:

gcloud --format=json dataflow jobs describe JOB_ID

העברה לארכיון (הסתרה) של משימות Dataflow מרשימה

כשמעבירים משימת Dataflow לארכיון, היא מוסרת מרשימת המשימות בדף Jobs ב-Dataflow במסוף. המשרה מועברת לרשימת משרות בארכיון. אפשר להעביר לארכיון רק משימות שהושלמו, כולל משימות במצבים הבאים:

  • JOB_STATE_CANCELLED
  • JOB_STATE_DRAINED
  • JOB_STATE_DONE
  • JOB_STATE_FAILED
  • JOB_STATE_UPDATED

מידע נוסף על אימות המצבים האלה זמין במאמר זיהוי השלמה של משימת Dataflow.

למידע על פתרון בעיות כשמעבירים משרות לארכיון, אפשר לעיין במאמר פתרון בעיות שקשורות להעברת משרות לארכיון בקטע 'פתרון בעיות שקשורות ל-Dataflow'.

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

העברת משרה לארכיון

כדי להסיר משימת Dataflow שהושלמה מרשימת המשימות הראשית בדף Jobs, פועלים לפי השלבים הבאים.

המסוף

  1. נכנסים לדף Jobs של Dataflow במסוף Google Cloud .

    מעבר לדף Jobs

    מוצגת רשימה של משימות Dataflow עם הסטטוס שלהן.

  2. בוחרים משרה.

  3. בדף Job Details (פרטי המשימה), לוחצים על Archive (העברה לארכיון). אם העבודה לא הסתיימה, האפשרות העברה לארכיון לא זמינה.

REST

כדי להעביר משרה לארכיון באמצעות ה-API, משתמשים ב-method‏ projects.locations.jobs.update.

בבקשה הזו צריך לציין אובייקט JobMetadata מעודכן. באובייקט JobMetadata.userDisplayProperties, משתמשים בצמד מפתח/ערך "archived":"true".

בנוסף לאובייקט JobMetadata המעודכן, בקשת ה-API צריכה לכלול גם את פרמטר השאילתה updateMask בכתובת ה-URL של הבקשה:

https://dataflow.googleapis.com/v1b3/[...]/jobs/JOB_ID/?updateMask=job_metadata.user_display_properties.archived

לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

  • PROJECT_ID: מזהה הפרויקט
  • REGION: אזור Dataflow
  • JOB_ID: המזהה של משימת Dataflow

ה-method של ה-HTTP וכתובת ה-URL:

PUT https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/REGION/jobs/JOB_ID/?updateMask=job_metadata.user_display_properties.archived

גוף בקשת JSON:

{
  "job_metadata": {
    "userDisplayProperties": {
      "archived": "true"
    }
  }
}

כדי לשלוח את הבקשה עליכם לבחור אחת מהאפשרויות הבאות:

curl

שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:

curl -X PUT \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/REGION/jobs/JOB_ID/?updateMask=job_metadata.user_display_properties.archived"

PowerShell

שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method PUT `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/REGION/jobs/JOB_ID/?updateMask=job_metadata.user_display_properties.archived" | Select-Object -Expand Content

אתם אמורים לקבל תגובת JSON שדומה לזו:

{
  "id": "JOB_ID",
  "projectId": "PROJECT_ID",
  "currentState": "JOB_STATE_DONE",
  "currentStateTime": "2025-05-20T20:54:41.651442Z",
  "createTime": "2025-05-20T20:51:06.031248Z",
  "jobMetadata": {
    "userDisplayProperties": {
      "archived": "true"
    }
  },
  "startTime": "2025-05-20T20:51:06.031248Z"
}

gcloud

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

לפני השימוש בנתוני הפקודה הבאים, צריך להחליף את הנתונים הבאים:

  • JOB_ID: המזהה של משימת Dataflow שרוצים להעביר לארכיון.
  • REGION: אופציונלי. האזור של Dataflow שבו מתבצעת העבודה.

מריצים את הפקודה הבאה:

‫Linux,‏ macOS או Cloud Shell

gcloud dataflow jobs archive JOB_ID --region=REGION_ID

‏Windows (PowerShell)

gcloud dataflow jobs archive JOB_ID --region=REGION_ID

Windows‏ (cmd.exe)

gcloud dataflow jobs archive JOB_ID --region=REGION_ID

אמורים לקבל תגובה שדומה לזו:

Archived job [JOB_ID].
createTime: '2025-06-29T11:00:02.432552Z'
currentState: JOB_STATE_DONE
currentStateTime: '2025-06-29T11:04:25.125921Z'
id: JOB_ID
jobMetadata:
userDisplayProperties:
    archived: 'true'
projectId: PROJECT_ID
startTime: '2025-06-29T11:00:02.432552Z'

הצגה ושחזור של משימות שהועברו לארכיון

כדי להציג משרות שהועברו לארכיון או לשחזר משרות שהועברו לארכיון לרשימת המשרות הראשית בדף Jobs (משרות) ב-Dataflow, פועלים לפי השלבים הבאים.

המסוף

  1. נכנסים לדף Jobs של Dataflow במסוף Google Cloud .

    מעבר לדף Jobs

  2. לוחצים על המתג בארכיון. תוצג רשימה של משימות Dataflow שהועברו לארכיון.

  3. בוחרים משרה.

  4. כדי לשחזר את המשימה לרשימת המשימות הראשית בדף Jobs (משימות) ב-Dataflow, לוחצים על Restore (שחזור) בדף Job Details (פרטי המשימה).

REST

כדי לשחזר משימה שהועברה לארכיון באמצעות ה-API, משתמשים ב-method‏ projects.locations.jobs.update.

בבקשה הזו צריך לציין אובייקט JobMetadata מעודכן. באובייקט JobMetadata.userDisplayProperties, משתמשים בצמד מפתח/ערך "archived":"false".

בנוסף לאובייקט JobMetadata המעודכן, בקשת ה-API צריכה לכלול גם את פרמטר השאילתה updateMask בכתובת ה-URL של הבקשה:

https://dataflow.googleapis.com/v1b3/[...]/jobs/JOB_ID/?updateMask=job_metadata.user_display_properties.archived

לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

  • PROJECT_ID: מזהה הפרויקט
  • REGION: אזור Dataflow
  • JOB_ID: המזהה של משימת Dataflow

ה-method של ה-HTTP וכתובת ה-URL:

PUT https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/REGION/jobs/JOB_ID/?updateMask=job_metadata.user_display_properties.archived

גוף בקשת JSON:

{
  "job_metadata": {
    "userDisplayProperties": {
      "archived": "false"
    }
  }
}

כדי לשלוח את הבקשה עליכם לבחור אחת מהאפשרויות הבאות:

curl

שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:

curl -X PUT \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/REGION/jobs/JOB_ID/?updateMask=job_metadata.user_display_properties.archived"

PowerShell

שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method PUT `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/REGION/jobs/JOB_ID/?updateMask=job_metadata.user_display_properties.archived" | Select-Object -Expand Content

אתם אמורים לקבל תגובת JSON שדומה לזו:

{
  "id": "JOB_ID",
  "projectId": "PROJECT_ID",
  "currentState": "JOB_STATE_DONE",
  "currentStateTime": "2025-05-20T20:54:41.651442Z",
  "createTime": "2025-05-20T20:51:06.031248Z",
  "jobMetadata": {
    "userDisplayProperties": {
      "archived": "false"
    }
  },
  "startTime": "2025-05-20T20:51:06.031248Z"
}