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:
- Faça um instantâneo da assinatura.
- Drene as mensagens de inscrição no Dataflow.
- 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:
- Navegue até o console do Dataflow e clique no pipeline de streaming.
- No painel Resumo, clique em Interromper job.
- Selecione Drenar para permitir o processamento das mensagens em andamento e aguarde até que o job seja encerrado.
- Procure a assinatura do snapshot com a ferramenta de linha de comando
gcloud
:pubsub subscriptions seek seek-demo-sub --snapshot=my-snapshot
- Reenvie seu pipeline do Dataflow.