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:
- Crea un'istantanea dell'abbonamento.
- Svuota i messaggi di sottoscrizione in Dataflow.
- 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:
- Vai alla console Dataflow e fai clic sulla pipeline in modalità flusso.
- Nel riquadro Riepilogo, fai clic su Interrompi job.
- Seleziona Svuota per consentire l'elaborazione dei messaggi in corso e attendi fino al termine del job.
- Cerca la tua sottoscrizione allo snapshot con lo strumento a riga di comando
gcloud
:pubsub subscriptions seek seek-demo-sub --snapshot=my-snapshot
- Invia nuovamente la pipeline Dataflow.