Extract, Transform, and Load RabbitMQ Data in Informatica PowerCenter

Jerod Johnson
Jerod Johnson
Director, Technology Evangelism
Create a simple Workflow for RabbitMQ data in Informatica PowerCenter.

Informatica provides a powerful, elegant means of transporting and transforming your data. By utilizing the CData API Driver for ODBC, you are gaining access to a driver based on industry-proven standards that integrates seamlessly with Informatica's powerful data transportation and manipulation features. This tutorial shows how to create a simple Workflow in Informatica PowerCenter to extract RabbitMQ data and load it into a flat file.

Add RabbitMQ as an ODBC Data Source

If you have not already, install the driver on the PowerCenter server and client machines. On both machines, specify the connection properties in an ODBC DSN (data source name). This is the last step of the driver installation. You can use the Microsoft ODBC Data Source Administrator to create and configure ODBC DSNs.

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

Create an ETL Workflow in PowerCenter

Follow the steps below to create a workflow in PowerCenter to pull RabbitMQ data and push it into a flat file.

Create a Source Using the ODBC Driver

  1. In PowerCenter Workflow Manager, add a new ODBC relational connection by going to Connections -> Relational, and in the first window select the ODBC type and click New.
  2. In the Relational Connection Editor, set the name of the newly created connection and set the User Name and Password based on the credentials utilized to connect to your Repository. Under the Connection String input your System DSN, which by default is called 'CData API Sys'.
  3. In PowerCenter Designer, connect to your repository and open your folder. If you do not already have a folder created, you will need to manually create a folder for your repository. To create a folder, open Informatica PowerCenter Repository Manager, connect to your Repository Service and go to Folder -> Create to create a new folder.
  4. Select the Source Analyzer, click the sources menu, and select Import from Database...
  5. In the drop-down menu for ODBC data source, select the DSN you previously configured (CData API Sys).
  6. Click connect and select the tables and views to include.
  7. Click OK.

Create a Flat File Target Based on the Source

  1. Select the Target Designer and drag and drop the previously created source onto the workspace. Using the existing source copies the columns into the target.
  2. Right-click the new target, click edit, and change the database type to flat file.

Create a Mapping to Between RabbitMQ Data and a Flat File

  1. Click on the Mapping Designer.
  2. Drag the source and target to the workspace (name the new mapping, if prompted).
  3. Right-click on the workspace and select Autolink by Name.
  4. Drag the columns from the source qualifier to the target definition.
  5. Save the folder (Ctrl + S).

Create Workflow Based on the Mapping

With the source, target, and mapping created and saved, you are now ready to create the workflow.

  1. Right-click the mapping and select generate workflow to open the Workflow Generation wizard.
  2. Create a workflow with a non-reusable session.
  3. Ensure that you have properly configured the connection object and set the prefixes. If you have not already done so, you will need to create an Integration Service. To create an Integration Service, open your Administrator site, and under Domain, create a new PowerCenter Integration Service. Under the PowerCenter Repository Service, select the Repository you are referring to, and as Username and Password, use your Administrator login information.
  4. Configure the Connection as needed.
  5. Review the Workflow and click Finish.

With a workflow created, you can open the PowerCenter Workflow Manager to access and start the workflow, quickly transferring RabbitMQ data into a flat file. With the CData API Driver for ODBC, you can configure sources and targets in PowerCenter to integrate RabbitMQ data into any of the elegant and powerful features in Informatica PowerCenter.

Ready to get started?

Connect to live data from RabbitMQ with the API Driver

Connect to RabbitMQ