排解串流管道升級問題

本頁面說明如何使用平行取代作業等功能,解決升級 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_nameparallel_replace_job_id,但未設定 parallel_replace_job_min_parallel_pipelines_duration,就會發生這個問題。

如要解決這個問題,請一併設定 parallel_replace_job_min_parallel_pipelines_duration 選項和 parallel_replace_job_nameparallel_replace_job_id 選項。

缺少必要選項 parallel_replace_job_nameparallel_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_nameparallel_replace_job_id,就會發生這個問題。

如要解決這個問題,請一併設定 parallel_replace_job_nameparallel_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> 格式設定有效的持續時間字串,例如 10s1m1h。時間範圍必須介於零到 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_nameparallel_replace_job_id 指向有效的執行中串流作業。如果舊工作已終止,請移除平行工作更新選項,並建立一般新工作。

平行取代作業指向批次作業

嘗試執行平行取代作業時,作業會遭到拒絕,並顯示下列錯誤:

The parallel replace job must be a streaming job.

發生這個問題的原因是,要取代的工作並非串流工作。

如要解決這個問題,請確認 parallel_replace_job_nameparallel_replace_job_id 指向正在執行的串流工作,而非批次工作。

平行取代作業選項指向不同的工作

嘗試執行平行取代作業時,作業會遭到拒絕,並顯示下列錯誤:

The parallel replace job id JOB_ID must point to a job with name JOB_NAME.

發生這個問題的原因是 parallel_replace_job_nameparallel_replace_job_id 選項指向不同的工作。

如要解決這個問題,請確認這兩個選項都指向相同的執行中串流工作。你也可以只使用其中一個選項,也就是 parallel_replace_job_nameparallel_replace_job_id