MicrosoftMicrosoft Azure Developer Associate AZ-204 Certification·KO·업데이트됨 5 Aug 2026
작업자가 Service Bus 큐(QueueA)의 메시지를 처리합니다. 각 메시지에 대해 토픽(TopicB)으로 알림을 보내고 다른 큐(QueueC)로 명령을 보낸 다음 원본 메시지를 완료해야 합니다. 세 가지 작업은 모두 함께 성공하거나 실패해야 합니다. 어떻게 해야 할까요?
정답 선택
옵션을 탭하여 정답을 확인하세요.
정답: 동일한 ServiceBusClient 연결을 사용하여 Service Bus 트랜잭션(TransactionScope 또는 ServiceBusTransaction) 내에서 QueueA에 대한 수신-완료 및 TopicB와 QueueC로의 전송을 수행합니다., QueueA, TopicB 및 QueueC가 동일한 Service Bus 네임스페이스에 있는지 확인합니다..
이것이 정답인 이유
Service Bus 트랜잭션은 여러 작업을 원자적으로 묶어 모든 작업이 성공하거나 모두 실패하도록 보장합니다. TransactionScope 또는 ServiceBusTransaction을 사용하여 QueueA에서 메시지를 수신 및 완료하고, TopicB 및 QueueC로 메시지를 보내는 모든 작업을 단일 트랜잭션으로 묶을 수 있습니다. 이러한 트랜잭션은 동일한 Service Bus 네임스페이스 내에서만 작동하므로 QueueA, TopicB, QueueC가 같은 네임스페이스에 있어야 합니다. 별도의 ServiceBusClient 인스턴스를 사용하면 트랜잭션의 원자성이 깨지며, 중복 감지는 메시지 중복을 방지하지만 트랜잭션의 원자성을 보장하지는 않습니다. Azure Function의 여러 출력 바인딩은 기본적으로 원자적 커밋을 보장하지 않습니다.