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

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

alias pubsub='gcloud beta 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 en la instantánea con la herramienta de línea de comandos de gcloud:
    pubsub subscriptions seek seek-demo-sub --snapshot=my-snapshot
    
  5. Reinicia tu canalización de Cloud Dataflow.
¿Te sirvió esta página? Envíanos tu opinión:

Enviar comentarios sobre…

¿Necesitas ayuda? Visita nuestra página de asistencia.