Using Azure Service Bus and a dead-letter queue to retry failed REST API calls
Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution. After you answer a question in this section, you will NOT be able to return to it. As a result these questions will not appear on the review screen. You are designing an integration that sends created records from a custom Dataverse table to an exposed REST API. When the REST API is unavailable, you must be able to retry if the response status code is 500. You need to select a solution that meets the requirement. Solution: Register a service endpoint for an Azure Service Bus queue. Use an Azure Function to process messages from the queue and forward them to the REST API. Redirect failed messages to the dead-letter queue. Does the solution meet the goal?
Community Votes
100% of anonymous learners picked answer A. Votes are pick records left by other test-takers — they are not the verified answer.
Community Insight
Service Bus decouples event delivery from processing: Dataverse posts the message, the queue persists it even when the API is down, the Azure Function retries, and messages that keep failing go to the dead-letter queue for later handling — exactly the required retry semantics.
The same integration must retry when the REST API returns 500. Registering a Service Bus service endpoint, processing messages with an Azure Function, and redirecting failed messages to the dead-letter queue provides durable buffering and retry, so the solution meets the goal.
Thinking a dead-letter queue means messages are 'lost.' A dead-letter queue is the retry/failure-handling mechanism itself: messages that cannot be delivered are isolated so they can be reprocessed after the underlying problem is fixed, not discarded.
Community Discussion (5 comments)
Comments & Corrections
No comments yet — spotted an error or have a note? Share it below.
Expert Analysis
Why the Answer Is Correct
Registering a Service Bus service endpoint lets Dataverse asynchronously deliver the created-record event to a queue. The Azure Function processes each message and calls the REST API; when the API returns 500, the message can be retried, and messages that ultimately fail are redirected to the dead-letter queue for manual or scheduled reprocessing. This durable, retryable pattern meets the requirement.Why the Other Options Are Wrong
The contrasting option in this series (an async plug-in raising an exception) does not retry at all. Here, A is correct because the queue plus dead-letter design explicitly provides the retry capability the requirement demands.Community Comment Notes
KucaStonojka (likes=3) describes how Dataverse sends messages to the Service Bus queue, which buffers them until the Function can process them even if the API is temporarily unavailable. RavinBrissy (likes=1) notes failed messages can be reprocessed from the dead-letter queue after fixing the root cause.Official Reference
Related Analysis
Practice All PL-400 Questions
Access 85 questions with complete answers and detailed explanations.
View Full PL-400 Practice Test →