Um worker processa mensagens de uma fila do Service Bus (QueueA). Para cada mensagem, ele deve enviar uma notificação para um tópico (TopicB) e um comando para outra fila (QueueC), e então completar a mensagem original. Todas as três operações devem ser bem-sucedidas ou falhar juntas. O que você deve fazer?
Escolha uma resposta
Toque em uma opção para verificar sua resposta.
Resposta correta: Realizar o receive-complete em QueueA e os envios para TopicB e QueueC dentro de uma transação do Service Bus (TransactionScope ou ServiceBusTransaction) usando a mesma conexão ServiceBusClient., Garantir que QueueA, TopicB e QueueC estejam no mesmo namespace do Service Bus..
Por que esta é a resposta
Para garantir que todas as três operações (receive-complete em QueueA, envio para TopicB e envio para QueueC) sejam atômicas, ou seja, que todas sejam bem-sucedidas ou todas falhem juntas, é necessário usar uma transação do Service Bus. As transações do Service Bus permitem agrupar várias operações em uma única unidade atômica. Para que uma transação funcione, todas as entidades envolvidas (QueueA, TopicB e QueueC) devem estar no mesmo namespace do Service Bus. Além disso, a transação deve ser executada usando a mesma conexão ServiceBusClient para garantir que todas as operações estejam dentro do mesmo escopo transacional. Usar instâncias ServiceBusClient separadas impediria a atomicidade, pois cada operação seria independente. Habilitar a detecção de duplicatas ajuda na idempotência, mas não garante a atomicidade de múltiplas operações. Uma Azure Function com múltiplos output bindings pode simplificar o código, mas o runtime não garante commits atômicos entre bindings para sistemas de mensagens como o Service Bus sem uma transação explícita.
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