このページでは、並列置換ジョブなどの機能を使用して、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_name オプションまたは parallel_replace_job_id オプションとともに parallel_replace_job_min_parallel_pipelines_duration オプションを設定します。
必須オプション 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_min_parallel_pipelines_duration とともに parallel_replace_job_name オプションまたは parallel_replace_job_id オプションを設定します。
オプション 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 など)を設定します。期間は 0~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 が設定されている場合、または元のジョブがシステムから削除されている場合に発生します。
この問題を解決するには、有効な実行中のジョブ ID を parallel_replace_job_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 のいずれか 1 つのオプションのみを使用することもできます。