Utilizzo di Pub/Sub Seek con Dataflow

Pub/Sub Seek consente agli utenti di riprodurre e rielaborare i messaggi confermati in precedenza o di confermare i messaggi in blocco. Tuttavia, non è consigliabile accedere direttamente a Pub/Sub Seek da una pipeline Dataflow in esecuzione. L'accesso diretto invalida la logica della filigrana di Dataflow e non funziona bene con l'elaborazione "exactly-once". Inoltre, l'accesso diretto è in conflitto con lo stato di una pipeline che incorpora dati elaborati.

Consigliamo di utilizzare Pub/Sub Seek con il seguente flusso di lavoro:

  1. Crea un'istantanea dell'abbonamento.
  2. Svuota i messaggi di sottoscrizione in Dataflow.
  3. Invia di nuovo la pipeline.

Creazione di uno snapshot in corso

Esegui e ripeti l'elaborazione da uno snapshot dell'abbonamento. Per creare questo snapshot utilizzando lo strumento a riga di comando gcloud, esegui questi comandi:

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

Per verificare di aver creato lo snapshot, esegui il comando:

pubsub snapshots list

Svuotamento dell'abbonamento in corso...

Per svuotare l'abbonamento e inviare nuovamente la pipeline:

  1. Vai alla console Dataflow e fai clic sulla pipeline in modalità flusso.
  2. Nel riquadro Riepilogo, fai clic su Interrompi job.
  3. Seleziona Svuota per consentire l'elaborazione dei messaggi in corso e attendi fino al termine del job.
  4. Cerca la tua sottoscrizione allo snapshot con lo strumento a riga di comando gcloud:
    pubsub subscriptions seek seek-demo-sub --snapshot=my-snapshot
    
  5. Invia nuovamente la pipeline Dataflow.