Integrating RabbitMQ Data in Talend Cloud Data Management Platform

Dibyendu Datta
Dibyendu Datta
Lead Technology Evangelist
Connect RabbitMQ Data with Talend Cloud Data Management Platform using the CData API Driver for JDBC.

Qlik's Talend Cloud Data Management Platform supports various data environments, enabling analytics for smarter decisions, operational data sharing, data and application modernization, and establishing data excellence for risk reduction. When paired with the CData API Driver for JDBC, you can improve data integration, quality, and governance for your RabbitMQ Data. This article shows how you can easily integrate to RabbitMQ using a CData JDBC Driver in Talend Cloud Data Management, and then view the data for simultaneous use in your workflow.

Prerequisites

Before connecting the CData JDBC Driver to view and work with your data in Talend Cloud Data Management Platform, make sure to download and install the latest version of Talend Studio on your system. Also, ensure that you have the required prerequisites.

  1. A Talend Cloud Data Management account with appropriate permissions.
  2. The CData API Driver for JDBC, which can be downloaded from the CData website.

Connect to RabbitMQ in Talend as a JDBC data source

Access Talend Data Management Cloud

  1. Run the Talend Cloud Data Management Platform installed on your local system and click on Other Login Mode.
  2. Click on Manage Connections. Set Repository to "Local" and enter the Name, Description and User E-mail in the respective spaces. Set the Workspace path and click on OK.
  3. Now, select the Create a new project radio button to add a new project name and click on Create.
  4. The new project should appear under the Select an existing project section. Click on Open. The Talend Cloud Data Management Platform workspace opens up.

Create a new connection

  1. In the navigation pane, locate and expand the Metadata dropdown. Right-click on Db Connections and select Create Connection.
  2. Search for and select 'JDBC' in the Find section of the Database Connection window. Then, click on Finish.
  3. Enter the Name, Purpose and Description of the new database in Talend where you need to load the RabbitMQ data. Click on Next.
  4. Generate a JDBC URL for connecting to RabbitMQ, beginning with jdbc:api: followed by a series of semicolon-separated connection string properties.

    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

    Built-in Connection String Designer

    For assistance in constructing the JDBC URL, use the connection string designer built into the RabbitMQ JDBC Driver. Either double-click the JAR file or execute the jar file from the command-line.

    java -jar cdata.jdbc.api.jar
    

    Fill in the connection properties and copy the connection string to the clipboard.

    A typical JDBC URL is below:

    jdbc:api:Profile=C:\profiles\\RabbitMQ.apip;AuthScheme=Basic;URL=http://localhost:15672;User=guest;Password=guest;
    
  5. Enter the JDBC URL copied from CData API Driver for JDBC in Edit new database.

  6. Click on the "(+) Add" button under Drivers. A 'newLine' will appear in the Drivers board. Click on (...) at the end of the new line, select the Install a new module radio button, and click on (...) to add the path to the JAR file, located in the 'lib' subfolder of the installation directory. Click on OK.
  7. Select the Driver Class as cdata.jdbc.api (JAR file obtained from your installation directory given in the previous step).

Test the new connection

  1. Click on Check Connection. If the entered details are correct, a "Connection successful" confirmation prompt will appear. Click on "OK" and "Finish".
  2. Once the connection is established, right-click on the newly created connection and select Retrieve Schema. You can use the filters as well to retrieve the data as per your requirements. Click on Next.
  3. Expand the "CData" catalog in the Schema window and select the tables you want to import from the RabbitMQ schema. Click on Next.
  4. In the next step, select the columns you want to view from the table and click on Finish.
  5. All the selected tables from the RabbitMQ schema are now populated under the Table Schemas section of the JDBC connection.
  6. Right-click on any of the selected tables and click on Data Viewer to preview the data from the data source.

Get Started Today

Download a free, 30-day trial of the CData API Driver for JDBC and integrate RabbitMQ data into Talend Cloud Data Management Platform. Reach out to our Support Team if you have any questions.

Ready to get started?

Connect to live data from RabbitMQ with the API Driver

Connect to RabbitMQ