Create RabbitMQ Dataflows on PowerBI.com
The CData API Driver for Power BI seamlessly integrates with the tools and wizards in Power BI, including the real-time data workflows on PowerBI.com. Follow the steps below to pull data directly into DataFlows on PowerBI.com and use the Power BI Gateway to configure automatic refresh.
Create a DSN
Installing the Power BI Connector creates a DSN (data source name) called CData Power BI RabbitMQ. 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:
- Ensure the RabbitMQ Management plugin is enabled on your server (rabbitmq-plugins enable rabbitmq_management).
- Use an existing management user or create one with the appropriate management tag (management, policymaker, monitoring, or administrator).
- 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
Pulling RabbitMQ Data Directly Into Your Dataflow
With the data source configured, follow the steps below to load data from RabbitMQ tables into your DataFlow.
Set Up the Power BI Gateway
Follow the steps below to configure the gateway on your machine:
- Run the CData Power BI Connector installer. If you have not already done so, download the Power BI Gateway.
- Select the on-premises data gateway (recommended) option.
- Sign into the gateway.
- Name the gateway and specify a recovery key.
In the Connectors step, choose a folder where the gateway will look for the CData Power BI Connector. This article uses C:\Users\PBIEgwService\Documents\Power BI Desktop\Custom Connectors\. Copy the .pqx files for the CData Connector (found in C:\Users\USERNAME\Documents\Power BI Desktop\Custom Connectors\) to the folder you configured.
NOTE: The account configured for the service (NT SERVICE\PBIEgwService) needs to be able to access the folder chosen for the gateway. If needed, you can change the service account in the Service Settings section of the gateway installer.
- Confirm that the entry CData.PowerBI.API is displayed in the list in the Connectors section.
Set up Power BI Online for a Dataflow
- In Power BI Online, create a new workspace, which is also known as an app, if you do not already have one. Note that this is only available with Power BI Pro or higher.
- Set up your On-Premises Gateway. The steps for this are in the Configuring the Gateway section of this article.
-
Go back to Power BI Online. In settings, go to 'Manage Gateways', and add a new data source to your Gateway
- Enter the Data Source Name, the name that the data source will be referred to within Power BI Online
- Select the Data Source Type, (e.g. CData API Driver for Power BI) and set the Data Source Name (e.g. CData Power BI RabbitMQ)
- Set Authentication Method to "Anonymous"
- Set Privacy Level as needed
-
Click Add to finish the configuration (do not skip the test connection as it is important to know if a successful connection was made).
If you would like to manage the users that have access to this data source, you can go to the Users tab.
Set up your Dataflow and pull the RabbitMQ data
- In the new workspace, go to Create > Dataflow > Add New Entities.
-
Choose the ODBC data source and enter the correct connection properties.
Enter your DSN name in the ODBC connection string section, dsn=CData Power BI API. Choose your gateway and set the authentication type to Anonymous.
-
Choose the table(s) you want to work with and click Transform data.
If you want to make any changes to the query, you can right click on the query and click on Advanced Editor.
Configure Data Refresh on PowerBI.com
Refresh your dataflow to have the most up to date data.
- To refresh manually, open the dataflow options menu from your workspace -> Dataflows and click Refresh Now.
- To schedule refreshes, open the dataflow options menu from your workspace -> Dataflows and click Schedule Refresh. Enable the option to keep your data up to date. Specify the refresh frequency in the menus.
At this point, you will have a Dataflow built on top of live RabbitMQ data. Learn more about the CData Power BI Connectors for RabbitMQ and download a free trial from the CData API Driver for Power BI page. Let our Support Team know if you have any questions.