本頁面說明如何使用平行取代作業等功能,解決升級 Dataflow 串流管道時發生的問題。
平行取代作業
如果執行平行取代作業時發生錯誤,請按照下列指引升級管道。
缺少必要選項 parallel_replace_job_min_parallel_pipelines_duration
嘗試執行平行取代作業時,作業會遭到拒絕,並顯示下列錯誤:
The parallel replace job requires you to set the parallel_replace_job_min_parallel_pipelines_duration field. Set the field and try your request again.
如果已設定 parallel_replace_job_name
或 parallel_replace_job_id
,但未設定 parallel_replace_job_min_parallel_pipelines_duration
,就會發生這個問題。
如要解決這個問題,請一併設定 parallel_replace_job_min_parallel_pipelines_duration
選項和 parallel_replace_job_name
或 parallel_replace_job_id
選項。
缺少必要選項 parallel_replace_job_name
或 parallel_replace_job_id
嘗試執行平行取代作業時,作業會遭到拒絕,並顯示下列錯誤:
The parallel replace job requires you to set either the parallel_replace_job_id field or the parallel_replace_job_name field. Set one of these fields, then try your request again.
如果已設定 parallel_replace_job_min_parallel_pipelines_duration
,但未設定 parallel_replace_job_name
或 parallel_replace_job_id
,就會發生這個問題。
如要解決這個問題,請一併設定 parallel_replace_job_name
或 parallel_replace_job_id
選項和 parallel_replace_job_min_parallel_pipelines_duration
。
選項 parallel_replace_job_min_parallel_pipelines_duration
的時間長度值無效
嘗試執行平行取代作業時,作業會遭到拒絕,並顯示下列錯誤:
An invalid duration string VALUE is set for `parallel_replace_job_min_parallel_pipelines_duration`. Set a valid duration string, such as 10s, 1m, or 1h. but not longer than 31 days.
發生這個問題的原因是提供的時間長度值無效。
如要解決這個問題,請以 <value><unit>
格式設定有效的持續時間字串,例如 10s
、1m
或 1h
。時間範圍必須介於零到 31 天之間。
只有 Streaming Engine 支援平行取代作業
嘗試執行平行取代作業時,作業會遭到拒絕,並顯示下列錯誤:
Parallel replace job is only supported for Streaming Engine. To enable Streaming Engine follow the instructions at https://cloud.google.com/dataflow/docs/streaming-engine#use
發生這個問題的原因是新工作未啟用 Streaming Engine。
如要解決這個問題,請啟用 Streaming Engine,然後重新執行作業。
找不到平行取代作業 ID
嘗試執行平行取代作業時,作業會遭到拒絕,並顯示下列錯誤:
The parallel replace job id JOB_ID was not found.
如果設定的工作 ID 無效,或是原始工作已從系統中清除,就會發生這個問題。
如要解決這個問題,請確認 parallel_replace_job_id
選項使用有效的執行中作業 ID。如果原始工作已終止,請移除平行工作更新選項,並建立一般新工作。
找不到平行取代作業名稱
嘗試執行平行取代作業時,作業會遭到拒絕,並顯示下列錯誤:
The parallel replace job name JOB_NAME was not found.
如果設定的工作名稱無效,或原始工作已從系統中清除,就會發生這個問題。
如要解決這個問題,請確認 parallel_replace_job_name
選項使用有效的執行中工作名稱。如果原始工作已終止,請移除平行工作更新選項,並建立一般新工作。
將平行取代工作點指向非現行工作
嘗試執行平行取代作業時,作業會遭到拒絕,並顯示下列錯誤:
The parallel replace job JOB_ID is not in a active state.
這是因為要取代的工作並非有效工作。
如要解決這個問題,請確認 parallel_replace_job_name
或 parallel_replace_job_id
指向有效的執行中串流作業。如果舊工作已終止,請移除平行工作更新選項,並建立一般新工作。
平行取代作業指向批次作業
嘗試執行平行取代作業時,作業會遭到拒絕,並顯示下列錯誤:
The parallel replace job must be a streaming job.
發生這個問題的原因是,要取代的工作並非串流工作。
如要解決這個問題,請確認 parallel_replace_job_name
或 parallel_replace_job_id
指向正在執行的串流工作,而非批次工作。
平行取代作業選項指向不同的工作
嘗試執行平行取代作業時,作業會遭到拒絕,並顯示下列錯誤:
The parallel replace job id JOB_ID must point to a job with name JOB_NAME.
發生這個問題的原因是 parallel_replace_job_name
和 parallel_replace_job_id
選項指向不同的工作。
如要解決這個問題,請確認這兩個選項都指向相同的執行中串流工作。你也可以只使用其中一個選項,也就是 parallel_replace_job_name
或 parallel_replace_job_id
。