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:
https://docs.microsoft.com/en-us/learn/modules/integrations/4-outbound
https://docs.microsoft.com/en-us/learn/modules/integrate-common-data-service-azure-solutions/3-event-listener
https://docs.microsoft.com/en-us/powerapps/developer/data-platform/azure-integration
https://docs.microsoft.com/en-us/learn/modules/integrate-common-data-service-azure-solutions/1-introduction