Usar a busca do Pub/Sub com o Dataflow

A busca do Pub/Sub permite aos usuários reproduzir e reprocessar mensagens reconhecidas anteriormente ou reconhecer mensagens em lote. No entanto, não recomendamos o acesso direto à busca do Pub/Sub a partir de um pipeline do Dataflow em execução. O acesso direto invalida a lógica de marca d'água do Dataflow e não funciona bem com o processamento realizado exatamente uma vez. Além disso, o acesso direto entra em conflito com o estado de um pipeline que incorpora dados processados.

Recomendamos o uso da busca do Pub/Sub com o seguinte fluxo de trabalho:

  1. Faça um instantâneo da assinatura.
  2. Drene as mensagens de inscrição no Dataflow.
  3. Reenvie o pipeline.

Criar um instantâneo

Busque e refaça o processamento de um instantâneo de assinatura. Para criar esse snapshot usando a ferramenta de linha de comando gcloud, execute os seguintes comandos:

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

Para verificar se você criou o instantâneo, execute o comando:

pubsub snapshots list

Como drenar a assinatura

Para drenar a assinatura e reenviar o canal, siga estas etapas:

  1. Navegue até o console do Dataflow e clique no pipeline de streaming.
  2. No painel Resumo, clique em Interromper job.
  3. Selecione Drenar para permitir o processamento das mensagens em andamento e aguarde até que o job seja encerrado.
  4. Procure a assinatura do snapshot com a ferramenta de linha de comando gcloud:
    pubsub subscriptions seek seek-demo-sub --snapshot=my-snapshot
    
  5. Reenvie seu pipeline do Dataflow.