Usa Cloud Pub/Sub Seek con Cloud Dataflow

Cloud Pub/Sub Seek permite a los usuarios volver a reproducir y procesar mensajes vistos con anterioridad o ver mensajes de forma masiva. Sin embargo, no recomendamos el acceso directo a Cloud Pub/Sub Seek desde una canalización de Cloud Dataflow en ejecución. El acceso directo invalida la lógica de la marca de agua de Cloud Dataflow y no funciona bien con el procesamiento del tipo “exactamente una vez”. Además, el acceso directo entra en conflicto con el estado de una canalización que incorpora datos procesados.

Recomendamos usar Cloud Pub/Sub Seek con el siguiente flujo de trabajo:

  1. Realiza una instantánea de la suscripción.
  2. Desvía los mensajes de suscripción en Cloud Dataflow.
  3. Reinicia la canalización.

Crea una instantánea

Debes buscar y volver a procesar a partir de una instantánea de suscripción. Para crear esta instantánea con la herramienta de línea de comandos de gcloud, ejecuta los siguientes comandos:

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

Para verificar que creaste la instantánea, ejecuta el siguiente comando:

pubsub snapshots list

Desvía la suscripción

Para desviar la suscripción y reiniciar la canalización, sigue estos pasos:

  1. Navega hacia la consola de Cloud Dataflow y haz clic en tu canalización de transmisión.
  2. En el panel de Resumen, haz clic en Detener trabajo.
  3. Selecciona Desviar para permitir el procesamiento de mensajes en tránsito y espera a que se finalice el trabajo.
  4. Busca tu suscripción a la instantánea con la herramienta de línea de comandos de gcloud:
    pubsub subscriptions seek seek-demo-sub --snapshot=my-snapshot
    
  5. Reinicia la canalización de Cloud Dataflow.
¿Te ha resultado útil esta página? Enviar comentarios:

Enviar comentarios sobre...

Si necesitas ayuda, visita nuestra página de asistencia.