Bir worker, bir Service Bus kuyruğundan (QueueA) mesajları işler. Her mesaj için bir konuya (TopicB) bildirim ve başka bir kuyruğa (QueueC) bir komut göndermeli, ardından orijinal mesajı tamamlamalıdır. Her üç işlemin de birlikte başarılı veya başarısız olması gerekir. Ne yapmalısınız?
Bir cevap seçin
Cevabınızı kontrol etmek için bir seçeneğe dokunun.
Doğru cevap: QueueA üzerindeki receive-complete işlemini ve TopicB ile QueueC'ye gönderimleri, aynı ServiceBusClient bağlantısını kullanarak bir Service Bus işlemi (TransactionScope veya ServiceBusTransaction) içinde gerçekleştirin., QueueA, TopicB ve QueueC'nin aynı Service Bus namespace'inde olduğundan emin olun..
Neden bu cevap
Doğru cevaplar, Service Bus işlemlerinin atomikliği için gereklidir. Bir Service Bus işlemi (TransactionScope veya ServiceBusTransaction), birden çok işlemi (alma, gönderme, tamamlama) tek bir atomik birim olarak gruplandırır. Bu işlemlerin hepsi aynı anda başarılı olmalı veya hiçbiri olmamalıdır. Bu atomikliği sağlamak için, tüm ilgili kuyruk ve konuların aynı Service Bus namespace'inde olması ve aynı ServiceBusClient bağlantısı kullanılarak işlem kapsamında gerçekleştirilmesi zorunludur. Ayrı ServiceBusClient örnekleri kullanmak atomikliği bozabilir. Duplicate detection, mesajların yinelenmesini engeller ancak işlemlerin atomikliğini sağlamaz. Azure Function binding'leri, varsayılan olarak atomik commit garantisi vermez.
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