Create Informatica Mappings From/To an ODBC Data Source for RabbitMQ

Jerod Johnson
Jerod Johnson
Director, Technology Evangelism
Create an ODBC connection to RabbitMQ in Informatica and browse and transfer RabbitMQ data.

Informatica provides a powerful, elegant means of transporting and transforming your data. By utilizing the CData ODBC Driver for RabbitMQ, 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 transfer and browse RabbitMQ data in Informatica PowerCenter.

Connect to RabbitMQ as an ODBC Data Source

Information for connecting to RabbitMQ follows, along with different instructions for configuring a DSN in Windows and Linux environments.

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

Windows

If you have not already, first specify 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.

Linux

If you are installing the CData ODBC Driver for RabbitMQ in a Linux environment, the driver installation predefines a system DSN. You can modify the DSN by editing the system data sources file (/etc/odbc.ini) and defining the required connection properties.

/etc/odbc.ini

[CData API Source]
Driver = CData ODBC Driver for RabbitMQ
Description = My Description
Profile = C:\profiles\\RabbitMQ.apip
AuthScheme = Basic
URL = http://localhost:15672
User = guest
Password = guest

For specific information on using these configuration files, please refer to the help documentation (installed and found online).

Create a Linked Table to AuthAttempts Data

Follow the steps below to create a linked table, which enables you to access live AuthAttempts data.

Create the ODBC Connection

Follow the steps below to connect to RabbitMQ in Informatica PowerCenter:

  1. In the Informatica Developer tool connect to your repository and create a project.
  2. In the Connection Explorer pane, right-click and click Create a Connection.
  3. In the New Database Connection wizard that is displayed, enter a name and Id for the connection and in the Type menu select ODBC.
  4. In the Connection String property, enter the DSN.

NOTE: If you are working in a Linux operating system, set the Driver Manager for Linux property to unixODBC 2.3.x.

Create the RabbitMQ Data Object

After you have created an ODBC connection to RabbitMQ, you can now access RabbitMQ entities in Informatica. Follow the steps below to add AuthAttempts entities to your project.

  1. In the Object Explorer, right-click your project and then click New -> Data Object.
  2. In the wizard that is displayed, select the Relational Data Object option.
  3. Click the Browse button next to the Connection box and select the ODBC connection you created in the previous step.
  4. Select the option to create a data object from an existing resource and click the Browse button next to the Resource box.
  5. In the dialog that is displayed, clear the Show Default Schema Only option and expand the node for the ODBC connection. Select the entity that you want.

You can now browse the table in the Data Viewer: Right-click the node for the table and then click Open. On the Data Viewer view, click Run.

Create the Mapping

Follow the steps below to add the RabbitMQ source to a mapping:

  1. In the Object Explorer, right-click your project and then click New -> Mapping.
  2. Expand the node for the RabbitMQ connection and then drag the data object for the table onto the editor.
  3. In the dialog that appears, select the Read option.

Follow the steps below to map RabbitMQ columns to a flat file:

  1. In the Object Explorer, right-click your project and then click New -> Data Object.
  2. Select Flat File Data Object -> Create as Empty -> Fixed Width.
  3. In the properties for the RabbitMQ object, select the rows you want, right-click, and then click copy. Paste the rows into the flat file properties.
  4. Drag the flat file data object onto the mapping. In the dialog that appears, select the Write option.
  5. Click and drag to connect columns.

To transfer RabbitMQ data, right-click in the workspace and then click Run Mapping.

Ready to get started?

Connect to live data from RabbitMQ with the API Driver

Connect to RabbitMQ