RPA ツールUiPath でRabbitMQ のデータを連携利用する方法
UiPath は高機能なRPA(Robotic Process Automation)製品です。UiPath Studio を使うことで、RPA プログラムをノーコードで開発できます。CData ODBC Driver を使えば、コーディングなしでUiPath からRabbitMQ への接続を作成し、連携フローに組み込めます。CData ODBC Driver は、UiPath からODBC Driver に対して発行されたSQL をRabbitMQ へのリアルタイムリクエストに変換し、レスポンスをテーブルデータとして取得します。
この記事では、UiPath Studio を使ってRabbitMQ に連携するRPA プログラムを作成します。
今回作成するUiPath RPA プロジェクト
データベース接続用アクティビティを利用してCData ODBC Driver for API に接続し、RabbitMQ のAuthAttempts データを取得するSQL を実行。取得したデータをCSV 書き込みアクティビティを利用して、CSV 出力するRPA プロジェクトを作成します(以下は完成したフローチャート)。
CData ODBC ドライバとは?
CData ODBC ドライバは、以下のような特徴を持ったリアルタイムデータ連携ソリューションです。
- RabbitMQ をはじめとする、CRM、MA、会計ツールなど多様なカテゴリの270種類以上のSaaS / オンプレミスデータソースに対応
- 多様なアプリケーション、ツールにRabbitMQ のデータを連携
- ノーコードでの手軽な接続設定
- 標準 SQL での柔軟なデータ読み込み・書き込み
CData ODBC ドライバでは、1.データソースとしてRabbitMQ の接続を設定、2.UiPath 側でODBC Driver との接続を設定、という2つのステップだけでデータソースに接続できます。以下に具体的な設定手順を説明します。
CData ODBC ドライバのインストールとRabbitMQ への接続設定
まずは、本記事右側のサイドバーからAPI ODBC Driver の無償トライアルをダウンロード・インストールしてください。30日間無償で、製品版の全機能が使用できます。
インストール後、ODBC DSN RabbitMQ で接続プロパティを設定します。Microsoft ODBC Data Source Administrator を使用して、ODBC DSN を作成および設定できます。
RabbitMQ Management HTTP API について
RabbitMQ は、複数のメッセージングプロトコルをサポートするオープンソースのメッセージブローカーです。RabbitMQ Management HTTP API は、RabbitMQ サーバーの管理データと監視データに HTTP 経由でアクセスする手段を提供します。この API では、仮想ホスト、エクスチェンジ、キュー、バインディング、コネクション、チャネル、コンシューマー、ユーザー、権限、ポリシー、クラスター全体の統計情報を取得できます。
HTTP API を利用するには、RabbitMQ サーバーで Management プラグインを有効化する必要があります。デフォルトでは、管理インターフェースはポート 15672 でリッスンします。
Basic 認証の設定
RabbitMQ Management HTTP API は HTTP Basic 認証を使用します。RabbitMQ 管理ユーザーのユーザー名とパスワードを指定する必要があります。
管理 API へのアクセスを有効にするには、以下のステップで進めます:
- サーバーで RabbitMQ Management プラグインが有効になっていることを確認します(rabbitmq-plugins enable rabbitmq_management)。
- 既存の管理ユーザーを使用するか、適切な管理タグ(management、policymaker、monitoring、または administrator)を持つユーザーを作成します。
- RabbitMQ Management HTTP API の完全なベース URL を控えておきます(例:http://localhost:15672)。
RabbitMQ サーバーを設定したら、以下の接続プロパティを設定して接続します:
- AuthScheme:Basic に設定します。
- URL:RabbitMQ Management HTTP API のベース URL に設定します(例:http://localhost:15672)。
- User:RabbitMQ の管理ユーザー名に設定します(例:guest)。
- Password:RabbitMQ の管理パスワードに設定します。
接続文字列の例:
Profile=C:\profiles\RabbitMQ.apip;AuthScheme=Basic;URL=http://localhost:15672;User=guest;Password=guest;
利用可能なテーブル
RabbitMQ プロファイルでは、以下のテーブルにアクセスできます:
- Overview - クラスター全体の統計情報と RabbitMQ ノードに関する情報
- Nodes - RabbitMQ クラスター内の個々のノードに関する情報
- NodeMemory - 特定のクラスターノードの詳細なメモリ使用状況の内訳
- Connections - ブローカーへのすべてのオープンな AMQP コネクションの一覧
- Channels - すべてのコネクションにわたるオープンな AMQP チャネルの一覧
- Consumers - すべてのキューに登録されたコンシューマーの一覧
- Exchanges - すべての仮想ホストで宣言されたエクスチェンジの一覧
- Queues - すべての仮想ホストで宣言されたキューの一覧
- Bindings - エクスチェンジとキュー間のすべてのバインディングの一覧
- VirtualHosts - ブローカーに設定された仮想ホストの一覧
- VhostPermissions - 特定の仮想ホスト内のユーザー権限
- Users - すべての RabbitMQ ユーザーの一覧
- Permissions - すべての仮想ホストにわたる全ユーザーの権限レコード
- TopicPermissions - 全ユーザーのトピックレベルの権限レコード
- Policies - 仮想ホスト内のキューおよびエクスチェンジに適用されたポリシーの一覧
- OperatorPolicies - 仮想ホスト内のキューに適用されたオペレーターポリシーの一覧
- Parameters - 仮想ホストごとのコンポーネントパラメータ(例:federation、shovel)の一覧
- GlobalParameters - すべての仮想ホストに適用されるグローバルパラメータの一覧
- VhostLimits - 特定の仮想ホストに設定されたリソース制限
- UserLimits - 特定のユーザーに設定されたリソース制限
- FeatureFlags - フィーチャーフラグの一覧と、ノード上での有効/無効の状態
- DeprecatedFeatures - 非推奨機能の一覧と、その使用状態
- AuthAttempts - ノードの認証試行統計
- ClusterName - RabbitMQ クラスターの名前
- WhoAmI - 現在認証されている管理ユーザーに関する情報
- ExchangeBindingsSource - 特定のエクスチェンジがソースとなっているバインディング
- ExchangeBindingsDestination - 特定のエクスチェンジが宛先となっているバインディング
- QueueBindings - 仮想ホスト内の特定のキューのバインディング
これで、UiPath Studio にRabbitMQ のデータを接続する準備は完了です。では、実際にプロジェクトを作成していきましょう。
- スタートページから「プロセス」をクリックして、新しいプロジェクトを作成します。
- プロジェクトを作成したら、「新規」アイコンから「フローチャート」を選択して、新しいフローチャートを作成します。
- RabbitMQ への接続を行うには、データベース接続用のアクティビティが必要になります。リボンの「パッケージを管理」をクリックし、「UiPath.Database.Activities」を検索してインストールしてください。
データ取得用アクティビティの作成
データベース関連のアクティビティが追加できたので、次にRabbitMQ への接続を設定してデータを取り出すための、「クエリを実行」アクティビティを追加します。
- アクティビティナビゲーションから「クエリを実行」を選択し、フローチャートに配置します。
- アクティビティをダブルクリックすると設定用画面に移動するので、「接続を構成」をクリックします。
- 「接続ウィザード」をクリックして、「Data Source」に「Microsoft ODBC Data Source」を選択します。
- 「Use user or system data source」のドロップダウンから、先ほど作成した「CData RabbitMQ Source」を選択します。
- 「Test connection」をクリックして接続テストが成功したら、OK をクリックします。これで、UiPath からRabbitMQ への接続設定は完了です。
- 次に、データ取得用のクエリを入力します。以下はサンプルのSQL です。
- 最後に、「クエリを実行」アクティビティのプロパティにある「出力」以下の、データテーブルの「+」ボタンから、出力格納用の変数を作成します。
"SELECT * FROM AuthAttempts;"
CSV 書き込み用のアクティビティを作成
最後に、出力したデータをCSV に書き込むためのアクティビティを作成します。アクティビティの設定画面から以下の項目を指定してください。
- 書き込み元:先ほど作成した出力用変数を指定します。
- 書き込み先ファイル:任意のファイルパスを指定します。右側のフォルダアイコンからGUI ベースで指定できます。
各アクティビティの紐づけと実行
あとは各アクティビティを紐付ければ、RabbitMQ のデータを出力するRPA プロジェクトの作成は完了です。
リボンから「実行」を選択してクリックすると、フローが実行されます。無事、RabbitMQ のデータを持ったCSV ファイルが作成されていました!もちろん取得したデータは、CSV 作成以外にもさまざまなフローに組み込んで使用できます。
おわりに
このようにCData ODBC ドライバを利用して、簡単にUiPath Studio でRabbitMQ に連携するフローを作成することができました。CData ではRabbitMQ 以外にも270種類以上のデータソース向けのドライバーを提供しています。30日の無償評価版が利用できますので、ぜひ自社で使っているクラウドサービスやNoSQL と合わせて活用してみてください。
日本のユーザー向けにCData ODBC ドライバは、UI の日本語化、ドキュメントの日本語化、日本語でのテクニカルサポートを提供しています。