Um job de streaming do Dataflow lê o Pub/Sub, um DoFn aplica a lógica de negócios e grava no BigQuery. Se o DoFn falhar para uma mensagem, você deseja que essa mensagem seja enviada para um tópico do Pub/Sub que você monitora para alertas. O que você deve fazer?
Escolha uma resposta
Toque em uma opção para verificar sua resposta.
Resposta correta: Usar um bloco de tratamento de exceções no código DoFn do seu Dataflow para enviar as mensagens que falharam na transformação por meio de uma saída lateral para um novo tópico do Pub/Sub. Use o Cloud Monitoring para monitorar a métrica topic/num_unacked_messages_by_region neste novo tópico..
Por que esta é a resposta
A opção correta é usar um bloco de tratamento de exceções no DoFn do Dataflow com uma saída lateral. Isso permite que mensagens que causam falha na lógica de negócios sejam redirecionadas para um tópico Pub/Sub separado, especificamente para mensagens com erro (dead-letter queue). Monitorar topic/numunackedmessagesbyregion neste tópico secundário é eficaz porque mensagens não confirmadas indicam que a mensagem de erro não foi processada, gerando um alerta. Habilitar a retenção de mensagens confirmadas no Pub/Sub não é o ideal, pois retém todas as mensagens confirmadas, não apenas as com erro, e a métrica não indica falhas de processamento. Habilitar dead lettering na assinatura do Pub/Sub é para falhas de entrega ou processamento pelo Pub/Sub, não para falhas na lógica de negócios do Dataflow. Criar um snapshot da assinatura não ajuda a identificar mensagens com falha na lógica de negócios, pois ele captura o estado da fila em um ponto no tempo.
Passe no seu exame — sem a busca interminável por respostas
Obtenha todas as perguntas e explicações verificadas para este exame em um só lugar e economize horas de preparação. Mais de 1.000 certificações · Mais de 20 idiomas · Grátis para começar.
Passe no seu exame mais rápido → Não é necessário cartão