Cloud Dataflow での Cloud Pub/Sub Seek の使用

Cloud Pub/Sub Seek を使用すると、確認済みのメッセージを再生して再処理したり、メッセージをまとめて確認したりできます。しかし、稼働中の Cloud Pub/Sub Seek パイプラインから Cloud Pub/Sub Seek に直接アクセスすることはおすすめしません。直接アクセスは Cloud Dataflow のウォーターマーク ロジックを無効にするため、1 回限りの処理ではうまく機能しません。さらに直接アクセスは、処理済みデータを組み込んだパイプラインの状態と競合します。

以下のワークフローで Cloud Pub/Sub Seek を使用することをおすすめします。

  1. サブスクリプションのスナップショットを作成します。
  2. Cloud Dataflow 内のサブスクリプション メッセージをドレインします。
  3. パイプラインを再起動します。

スナップショットの作成

あるサブスクリプション スナップショットまでシークして処理をやり直します。gcloud コマンドライン ツールを使用してこのスナップショットを作成するには、次のコマンドを実行します。

alias pubsub='gcloud pubsub'
pubsub snapshots create my-snapshot --subscription=seek-demo-sub

スナップショットが作成されたことを確認するには、次のコマンドを実行します。

pubsub snapshots list

サブスクリプションをドレインする

サブスクリプションをドレインしてパイプラインを再起動する手順は、次のとおりです。

  1. Cloud Dataflow コンソールに移動してストリーミング パイプラインをクリックします。
  2. [概要] ペインで、[ジョブを中止] をクリックします。
  3. [ドレイン] を選択して処理中のメッセージを処理できるようにし、ジョブが終了するまで待ちます。
  4. gcloud コマンドライン ツールを使用して、スナップショットまでサブスクリプションをシークします。
    pubsub subscriptions seek seek-demo-sub --snapshot=my-snapshot
    
  5. Cloud Dataflow パイプラインを再起動します。
このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

ご不明な点がありましたら、Google のサポートページをご覧ください。