Connect to Real-Time RabbitMQ Data in Power Apps Using Dataflows to Build Custom Applications

Dibyendu Datta
Dibyendu Datta
Lead Technology Evangelist
Use CData API Driver for Power BI and Dataflow to import and use RabbitMQ data in Power Apps.

Power Apps is a suite of apps, services, and connectors that allows users to build custom applications with minimal or no coding. It empowers businesses to create tailored apps that solve specific business challenges, automate workflows, and integrate with various data sources, including Microsoft Dataverse, SQL Server, and third-party services.

Dataflows in Power Apps simplify the process of importing, transforming, and loading external data into Microsoft Dataverse or other storage systems. They allow users to connect to multiple data sources (like Salesforce, Excel, or SQL databases), clean or shape the data, and store it in Power Apps. When paired with the CData API Driver for Power BI, it provides access to RabbitMQ data to build custom applications and more

This article demonstrates how you can easily connect to RabbitMQ using the CData API Driver for Power BI and integrate your RabbitMQ data through the Power Apps on-premises data gateway.

Configure a DSN to connect to RabbitMQ data

Installing the Power BI Connector creates a DSN (data source name) called CData PBI RabbitMQ Sys. This the name of the DSN that Power BI uses to request a connection to the data source. Configure the DSN by filling in the required connection properties.

You can use the Microsoft ODBC Data Source Administrator to create a new DSN or configure (and rename) an existing DSN: From the Start menu, enter "ODBC Data Sources." Ensure that you run the version of the ODBC Administrator that corresponds to the bitness of your Power BI Desktop installation (32-bit or 64-bit).

About RabbitMQ Management HTTP API

RabbitMQ is an open-source message broker that supports multiple messaging protocols. The RabbitMQ Management HTTP API provides HTTP-based access to management and monitoring data for a RabbitMQ server. The API exposes information about virtual hosts, exchanges, queues, bindings, connections, channels, consumers, users, permissions, policies, and cluster-wide statistics.

The Management plugin must be enabled on the RabbitMQ server for the HTTP API to be available. By default, the management interface listens on port 15672.

Using Basic Authentication

RabbitMQ Management HTTP API uses HTTP Basic authentication. You must supply the username and password of a RabbitMQ management user.

To enable access to the management API:

  1. Ensure the RabbitMQ Management plugin is enabled on your server (rabbitmq-plugins enable rabbitmq_management).
  2. Use an existing management user or create one with the appropriate management tag (management, policymaker, monitoring, or administrator).
  3. Note the full base URL of your RabbitMQ Management HTTP API (e.g., http://localhost:15672).

After configuring your RabbitMQ server, set the following connection properties to connect:

  • AuthScheme: Set this to Basic.
  • URL: Set this to the base URL of your RabbitMQ Management HTTP API (e.g., http://localhost:15672).
  • User: Set this to your RabbitMQ management username (e.g., guest).
  • Password: Set this to your RabbitMQ management password.

Example connection string:

Profile=C:\profiles\RabbitMQ.apip;AuthScheme=Basic;URL=http://localhost:15672;User=guest;Password=guest;

Available Tables

The RabbitMQ profile provides access to the following tables:

  • Overview - Cluster-wide statistics and information about the RabbitMQ node
  • Nodes - Information about individual nodes in the RabbitMQ cluster
  • NodeMemory - Detailed memory usage breakdown for a specific cluster node
  • Connections - List of all open AMQP connections to the broker
  • Channels - List of all open AMQP channels across all connections
  • Consumers - List of all consumers registered across all queues
  • Exchanges - List of exchanges declared across all virtual hosts
  • Queues - List of queues declared across all virtual hosts
  • Bindings - List of all bindings between exchanges and queues
  • VirtualHosts - List of virtual hosts configured on the broker
  • VhostPermissions - User permissions within a specific virtual host
  • Users - List of all RabbitMQ users
  • Permissions - Permission records for all users across all virtual hosts
  • TopicPermissions - Topic-level permission records for all users
  • Policies - List of policies applied to queues and exchanges in virtual hosts
  • OperatorPolicies - List of operator policies applied to queues in virtual hosts
  • Parameters - List of component parameters (e.g., federation, shovel) per virtual host
  • GlobalParameters - List of global parameters that apply across all virtual hosts
  • VhostLimits - Resource limits configured for specific virtual hosts
  • UserLimits - Resource limits configured for specific users
  • FeatureFlags - List of feature flags and their enabled/disabled state on the node
  • DeprecatedFeatures - List of deprecated features and their usage state
  • AuthAttempts - Authentication attempt statistics for the node
  • ClusterName - The name of the RabbitMQ cluster
  • WhoAmI - Information about the currently authenticated management user
  • ExchangeBindingsSource - Bindings for which a specific exchange is the source
  • ExchangeBindingsDestination - Bindings for which a specific exchange is the destination
  • QueueBindings - Bindings for a specific queue within a virtual host

Configure the on-premises data gateway to recognize the CData API Driver for Power BI

In this section, we will configure the on-premises data gateway to detect the CData API Driver for Power BI installed on your system. If you haven't installed the data gateway yet, you can download it from Microsoft's official website.

Set Up the Power BI Gateway

Follow the given process to configure the on-premise data gateway on your machine:

  1. Download and install the on-premises data gateway (recommended) option.
  2. Sign into the gateway.
  3. Create a name for the new gateway and specify a recovery key.
  4. Open the new gateway, navigate to the Connector tab, and select the path C:\Program Files\CData\CData API Driver for Power BI from the folder. Click on Apply.

    NOTE: Select the folder where the gateway will search for the CData Power BI Connector.

  5. Once the CData API Driver for Power BI is identified by the gateway, you're good to go.

Configure a dataflow connection in Power Apps

Once the on-premise data gateway is configured and a new gateway is created, follow these steps to create a dataflow that pulls in the RabbitMQ data into Power Apps:

  1. Open Power Apps.
  2. Select Dataflows from the left panel on the Power Apps screen and click + New Dataflow.
  3. Provide a name to the dataflow and click Create.
  4. Select ODBC from the list of data sources.
  5. On the ODBC Connection settings screen, use the connection details you set up earlier by entering DSN=Connection name (in this case, DSN=CData PBI RabbitMQ Sys) in the connection string. The on-premise data gateway will display available gateways for connection - select the one you created. Due to the current specifications of Power Apps dataflows, authentication is required for ODBC connections. Choose Basic as the authentication type and enter the RabbitMQ Username and Password. Click Next.
  6. RabbitMQ is now connected to Power Apps. Under Display options, expand CData under ODBC and RabbitMQ under CData, and a list of all the RabbitMQ tables will appear in the panel. When you select any one of these tables, a preview will appear, showing that the RabbitMQ data is correctly referenced through the Power BI connector and on-premise data gateway. Next, click on Transform Data.
  7. On the query editing screen, if no column conversion is needed, you can skip this step and proceed by clicking on Next.
  8. In the Choose destination settings screen, you can select how the selected table needs to be loaded by choosing options like Load to new table, Load to existing table, and Do not load. You can also change the Table display name and description as required.
  9. Finally, choose how you'd like to update your data: Refresh manually or Refresh automatically. In this case, we have set it to Refresh automatically. By scheduling it to update every 45 minutes, as shown below, data will be collected and registered every 45 minutes timeframe, ensuring the most up-to-date information is always available. (You can select any timeframe based on your convenience)
  10. Click on Publish. The dataflow will now be created, published, and displayed as a part of the dataflow list on the Dataflows screen.

Get Started Today

At this point, you will have created a dataflow using live RabbitMQ data and connected it to Power Apps. To learn more, explore the CData Power BI Connectors for Salesforce and download a free 30-day trial from the CData API Driver for Power BI page.

Feel free to reach out to our Support Team with any questions.

Ready to get started?

Connect to live data from RabbitMQ with the API Driver

Connect to RabbitMQ