You design the extension strategy for the Power Platform solution.
The requirements specify asynchronous delivery of the Dataverse events to the subscriber with a return message.
Please select the Azure service that you would use in your design.
Click on the arrows to vote for the correct answer
A. B. C. D. E.Correct Answer: D
Microsoft Dataverse integrates with several Azure services like Azure Service Bus, Azure Event Hubs, Azure Logic Apps, and others.
The integration depends on detecting the Dataverse's events.
The Event Framework provides this information to the declarative tools and registered extensions.
If you need to deliver a Dataverse event asynchronously to the subscribers, you need to integrate with Azure Service Bus.
First, using the Dataverse Plugin Registration Tool, you need to register a Service Bus endpoint as a destination for the asynchronous message post triggered by the Dataverse event.
Then, the message consumers will use listeners to receive a message.
Five types of listeners can be used for the Dataverse integration: Queue - this method is for non-critical messages.
It does not require a listener for message access.
You can read the messages in “destructive” (removing from the queue after “reading”) or “non-destructive” (leaving in a queue after “reading”).
Topic - this method is similar to the Queue, but it requires at least one subscribed listener for the topic.
It is a helpful method if you have multiple message consumers.
One-way - this method requires at least one active subscriber for Service Bus messages.
With no subscribers, the message post will fail.
Two-way - this method is similar to the One-way listener.
Except it can provide a return message back to the Dataverse.You need to register your Dataverse plug-in to post the message.
After that, you can receive back a string value from the listener.
REST - this method is similar to the Two-way listener, but it works with a REST endpoint.
You can use Two-way or REST listeners for your design.
Option A is incorrect because the Azure Function is helpful for small units of work and helps to offload the logic operations from the Dataverse application host.
You use Webhooks for Azure Function integration.
But the Azure Function does not provide asynchronous messaging to the subscribers and does not return a message to the Dataverse.
Option B is incorrect because Webhooks is a lightweight HTTP pattern for connecting the Dataverse events with outside subscribers.
But Webhooks do not provide the high-level processing as Service Bus and do not have listeners that consume the Dataverse messages and return a message to the Dataverse.
Option C is incorrect because the Azure Logic Apps do not have listeners consume the Dataverse messages and return a response.
Option E is incorrect because the Azure Event Hub is a real-time data ingestion service that can process millions of events per second and deliver them to subscribers.
Still, it cannot return a message to the Dataverse.
For more information about the Power Platform and Azure Service Bus integration, please visit the below URLs:
Based on the requirement of delivering Dataverse events asynchronously to the subscriber with a return message, the best Azure service to use would be Azure Service Bus (Option D).
Azure Service Bus is a messaging service hosted in Azure that allows decoupling of application components, enabling them to communicate with each other by sending messages. Service Bus supports a variety of messaging patterns, including publish/subscribe, point-to-point, and request-response.
In this case, Dataverse events can be published to the Service Bus topic, and subscribers can subscribe to the topic to receive the events. Azure Service Bus ensures that the events are delivered reliably and asynchronously to the subscribers. Additionally, Service Bus provides support for message transactions, message ordering, and message batching.
Furthermore, Azure Service Bus can be configured to use the "dead-letter queue" feature to handle messages that fail processing by subscribers. This feature ensures that messages that cannot be processed by a subscriber are safely stored in a queue for later analysis.
Azure Functions (Option A) can also be used in the design, but it may not be the best option for this scenario as it is more suited for event-driven scenarios that require code execution. Webhooks (Option B) are also event-driven and can be used to trigger actions, but they do not provide reliable message delivery or message ordering.
Azure Logic Apps (Option C) are suitable for workflow automation scenarios, and Azure Event Hubs (Option E) are more suitable for high-throughput streaming scenarios. Therefore, neither of these options is ideal for this scenario as they do not provide the reliable asynchronous message delivery and return message requirement specified in the requirements.