Bir Dataflow akış işi Pub/Sub'dan okuma yapıyor, bir DoFn iş mantığını uyguluyor ve BigQuery'ye yazıyor. Bir mesaj için DoFn başarısız olursa, o mesajın uyarılar için izlediğiniz bir Pub/Sub konusuna gönderilmesini istiyorsunuz. Ne yapmalısınız?
Bir cevap seçin
Cevabınızı kontrol etmek için bir seçeneğe dokunun.
Doğru cevap: Dataflow'unuzun DoFn kodunda, dönüştürülemeyen mesajları bir yan çıktı aracılığıyla yeni bir Pub/Sub konusuna göndermek için bir istisna işleme bloğu kullanın. Bu yeni konudaki topic/num_unacked_messages_by_region metriğini izlemek için Cloud Monitoring'i kullanın..
Neden bu cevap
DoFn içinde başarısız olan mesajları ayrı bir Pub/Sub konusuna yönlendirmek için yan çıktılar (side outputs) ve istisna işleme kullanmak, Dataflow'da hata yönetiminin standart ve etkili bir yoludur. Bu yaklaşım, iş mantığının başarısız olduğu mesajların izole edilmesini ve daha sonra incelenmesini sağlar. topic/numunackedmessagesbyregion metriği, bu hata konusuna gönderilen mesajların sayısını izlemek için uygundur. Diğer seçenekler neden uygun değil: Onaylanmış mesajların saklanması, işlenmiş mesajların tekrar oynatılması içindir, başarısız olanları izlemek için değil. Dead lettering (ölü mektup kuyruğu), Pub/Sub aboneliği düzeyinde mesajların belirli sayıda başarısız denemeden sonra otomatik olarak başka bir konuya gönderilmesidir. Ancak burada sorun, Dataflow'un DoFn'i içindeki iş mantığının başarısız olmasıdır, Pub/Sub'ın teslim denemelerinin başarısız olması değil. Dataflow, mesajı işleyip onayladığı için dead lettering tetiklenmez. Anlık görüntüler, Pub/Sub akışının belirli bir noktasını yakalamak içindir, hata yönetimi için değil.
Sonsuz cevap arayışı olmadan sınavınızı geçin
Bu sınav için her doğrulanmış soruyu ve açıklamayı tek bir yerde edinin ve saatlerce süren hazırlıktan tasarruf edin. 1.000'den fazla sertifika · 20'den fazla dil · ücretsiz başlayın.
Sınavınızı daha hızlı geçin → Kart gerekmez