如要查看 Dataflow 工作清單,請前往 Google Cloud 控制台的「Dataflow」>「Jobs」(工作) 頁面。
畫面上會顯示 Dataflow 工作清單,清單中也會顯示工作的狀態。

工作可能處於以下狀態:
- —:監控介面尚未從 Dataflow 服務接收到狀態。
- Running (執行中):工作正在執行中。
- 「Starting...」(正在啟動):工作已建立完成,但系統要一點時間準備才能啟動工作。
- 「Queued」(已排入佇列):FlexRS 工作已排入佇列,或系統正在啟動 Flex 範本工作 (可能需要幾分鐘)。
- 「Canceling…」(取消中…):系統正在取消工作。
- 「Canceled」(已取消):工作已取消。
- 「Draining…」(排除中…):系統正在對工作進行排除作業。
- Drained (已排除):工作已排除。
- 「Updating…」(更新中…):系統正在更新工作。
- Updated (已更新):工作已更新。
- Succeeded (成功):工作已順利完成。
- 「Failed」(失敗):工作無法完成。
存取工作視覺化工具
如要存取監控工作的圖表,請在 Dataflow 監控介面中按一下工作名稱。系統隨即會顯示「工作詳細資料」頁面,其中包含下列資訊:
- 工作圖表:pipeline 的視覺化呈現方式
- 執行作業詳細資料:用於提升管道成效的工具
- 工作指標:與工作執行情況相關的指標
- 費用:與工作預估費用相關的指標
- 自動調度資源:與串流作業自動調度資源事件相關的指標
- 工作資訊面板:管道的說明資訊
- 工作記錄:Dataflow 服務在工作層級產生的記錄
- 工作站記錄:Dataflow 服務在工作站層級產生的記錄
- 診斷:表格,顯示所選時間軸上發生錯誤的位置,以及管道的可能建議
- 資料取樣:這項工具可讓您觀察管道每個步驟的資料
在「Job details」(工作詳細資料) 頁面中,您可以透過「Job graph」(工作圖表)、「Execution details」(執行作業詳細資料)、「Job metrics」(工作指標)、「Cost」(費用) 和「Autoscaling」(自動調度資源) 分頁標籤切換工作檢視畫面。
使用 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 工作後,該工作就會從主控台 Dataflow「Jobs」(工作) 頁面的工作清單中移除。工作會移至封存的工作清單。您只能封存已完成的工作,包括處於下列狀態的工作:
JOB_STATE_CANCELLED
JOB_STATE_DRAINED
JOB_STATE_DONE
JOB_STATE_FAILED
JOB_STATE_UPDATED
如要進一步瞭解如何驗證這些狀態,請參閱「偵測 Dataflow 工作完成情況」。
如要瞭解如何排解封存工作時發生的問題,請參閱「排解 Dataflow 錯誤」一文中的「封存工作錯誤」。
所有封存的工作會在 30 天保留期限過後刪除。
封存工作
如要從 Dataflow「工作」頁面的主要工作清單中移除已完成的工作,請按照下列步驟操作。
主控台
前往 Google Cloud 控制台的 Dataflow「Jobs」(工作) 頁面。
畫面上會顯示 Dataflow 工作清單,清單中也會顯示工作的狀態。
選取職務。
在「Job Details」(工作詳細資料) 頁面中,按一下「Archive」(封存)。如果工作尚未完成,就無法使用「封存」選項。
REST
如要使用 API 封存工作,請使用 projects.locations.jobs.update
方法。
在這項要求中,您必須指定更新後的 JobMetadata
物件。在 JobMetadata.userDisplayProperties
物件中,使用鍵/值組合 "archived":"true"
。
除了更新 JobMetadata
物件,API 要求也必須在要求網址中加入 updateMask 查詢參數:
https://dataflow.googleapis.com/v1b3/[...]/jobs/JOB_ID/?updateMask=job_metadata.user_display_properties.archived
使用任何要求資料之前,請先替換以下項目:
- PROJECT_ID:您的專案 ID
- REGION:Dataflow 區域
- JOB_ID:Dataflow 工作的 ID
HTTP 方法和網址:
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" }
查看及還原封存的工作
請按照下列步驟查看封存的工作,或將封存的工作還原至 Dataflow「Jobs」(工作) 頁面的主要工作清單。
主控台
前往 Google Cloud 控制台的 Dataflow「Jobs」(工作) 頁面。
按一下「已封存」切換按鈕。系統會顯示已封存的 Dataflow 工作清單。
選取職務。
如要將工作還原至 Dataflow「Jobs」(工作) 頁面的主要工作清單,請在「Job Details」(工作詳細資料) 頁面中按一下「Restore」(還原)。
REST
如要使用 API 還原已封存的工作,請使用 projects.locations.jobs.update
方法。
在這項要求中,您必須指定更新後的 JobMetadata
物件。在 JobMetadata.userDisplayProperties
物件中,使用鍵/值組合 "archived":"false"
。
除了更新 JobMetadata
物件,API 要求也必須在要求網址中加入 updateMask 查詢參數:
https://dataflow.googleapis.com/v1b3/[...]/jobs/JOB_ID/?updateMask=job_metadata.user_display_properties.archived
使用任何要求資料之前,請先替換以下項目:
- PROJECT_ID:您的專案 ID
- REGION:Dataflow 區域
- JOB_ID:Dataflow 工作的 ID
HTTP 方法和網址:
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" }