Create Informatica Mappings From/To a JDBC Data Source for RabbitMQ
Informatica provides a powerful, elegant means of transporting and transforming your data. By utilizing the CData JDBC 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.
Deploy the Driver
To deploy the driver to the Informatica PowerCenter server, copy the CData JAR and .lic file, located in the lib subfolder in the installation directory, to the following folder: Informatica-installation-directory\services\shared\jars\thirdparty.
To work with RabbitMQ data in the Developer tool, you will need to copy the CData JAR and .lic file, located in the lib subfolder in the installation directory, into the following folders:
- Informatica-installation-directory\client\externaljdbcjars
- Informatica-installation-directory\externaljdbcjars
Create the JDBC Connection
Follow the steps below to connect from Informatica Developer:
- In the Connection Explorer pane, right-click your domain and click Create a Connection.
- In the New Database Connection wizard that is displayed, enter a name and Id for the connection and in the Type menu select JDBC.
- In the JDBC Driver Class Name property, enter:
cdata.jdbc.api.APIDriver
- In the Connection String property, enter the JDBC URL, using the connection properties for RabbitMQ.
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
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 connection string is below:
jdbc:api:Profile=C:\profiles\\RabbitMQ.apip;AuthScheme=Basic;URL=http://localhost:15672;User=guest;Password=guest;
Browse RabbitMQ Tables
After you have added the driver JAR to the classpath and created a JDBC connection, you can now access RabbitMQ entities in Informatica. Follow the steps below to connect to RabbitMQ and browse RabbitMQ tables:
- Connect to your repository.
- In the Connection Explorer, right-click the connection and click Connect.
- Clear the Show Default Schema Only option.
You can now browse RabbitMQ tables in the Data Viewer: Right-click the node for the table and then click Open. On the Data Viewer view, click Run.
Create RabbitMQ Data Objects
Follow the steps below to add RabbitMQ tables to your project:
- Select tables in RabbitMQ, then right-click a table in RabbitMQ, and click Add to Project.
- In the resulting dialog, select the option to create a data object for each resource.
- In the Select Location dialog, select your project.
Create a Mapping
Follow the steps below to add the RabbitMQ source to a mapping:
- In the Object Explorer, right-click your project and then click New -> Mapping.
- Expand the node for the RabbitMQ connection and then drag the data object for the table onto the editor.
- In the dialog that appears, select the Read option.
Follow the steps below to map RabbitMQ columns to a flat file:
- In the Object Explorer, right-click your project and then click New -> Data Object.
- Select Flat File Data Object -> Create as Empty -> Fixed Width.
- 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.
- Drag the flat file data object onto the mapping. In the dialog that appears, select the Write option.
- Click and drag to connect columns.
To transfer RabbitMQ data, right-click in the workspace and then click Run Mapping.
