Kısıtlanmış bir downstream API'yi çağıran, Service Bus tetiklemeli bir Azure Function'ınız var. Geçici hatalarda, 2 saniyeden 1 dakikaya kadar gecikmelerle üstel geri çekilmeyi (exponential backoff) kullanarak 5 adede kadar yeniden deneme yapmak istiyorsunuz. Yeniden denemelerden sonra, mesaj Service Bus tarafından dead-letter'a gönderilmelidir. Yeniden denemeleri nasıl yapılandırmalısınız?
Bir cevap seçin
Cevabınızı kontrol etmek için bir seçeneğe dokunun.
Doğru cevap: host.json dosyasına şunu ekleyin: "retry": { "strategy": "exponentialBackoff", "maxRetryCount": 5, "minimumInterval": "00:00:02", "maximumInterval": "00:01:00" }..
Neden bu cevap
Azure Functions'ta Service Bus tetikleyicileri için üstel geri çekilme (exponential backoff) ile yeniden deneme politikalarını yapılandırmanın doğru yolu host.json dosyasıdır. Bu dosya, fonksiyon uygulamasının genel davranışını kontrol eden yapılandırma ayarlarını içerir. retry bölümü, belirtilen strateji (exponentialBackoff), maksimum deneme sayısı (maxRetryCount), minimum ve maksimum aralıklar (minimumInterval, maximumInterval) ile yeniden deneme davranışını tanımlar. Bu ayarlar, geçici hatalar durumunda fonksiyonun otomatik olarak yeniden denemesini ve Service Bus'ın mesajı dead-letter'a göndermeden önce belirtilen deneme sayısını tamamlamasını sağlar. Diğer seçenekler neden yanlış: fixedDelay stratejisi, istenen üstel geri çekilmeyi sağlamaz. Service Bus kuyruğunun MaxDeliveryCount değerini ayarlamak, Service Bus'ın kendi yeniden deneme mekanizmasını kontrol eder ancak Azure Function'ın yeniden deneme mantığını doğrudan yapılandırmaz. Fonksiyonun kendi yeniden deneme politikası olmadan, mesaj Service Bus tarafından hemen dead-letter'a gönderilebilir. Polly gibi kod içi bir yeniden deneme politikası uygulamak mümkün olsa da, host.json üzerinden yapılandırma, tetikleyici düzeyinde daha entegre ve yönetilebilir bir çözümdür, özellikle Service Bus gibi yerleşik tetikleyiciler için.
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