RabbitMQのデータをExcelで取得する方法|3ステップで簡単連携
CData Excel Add-In for API を使えば、Excel から直接RabbitMQ のデータ取得が可能になります。
この記事ではExcel Add-In の使い方を説明し、実際にRabbitMQ のデータを取得していきます。記事の例ではAuthAttempts テーブルを使いますが、同じことがCData Excel Add-In で取得できるすべてのRabbitMQ のデータのテーブルに対して実行可能です。
RabbitMQ とExcel の連携とは?
RabbitMQ とExcel を連携することで、RabbitMQ のデータをExcel シートにリアルタイムで取得・更新できるようになります。一度設定すれば「エクスポート → 編集 → インポート」の手作業が不要になり、常に最新データをExcel で扱えます。
RabbitMQ とExcel を連携する方法の比較
RabbitMQ のデータをExcel で扱う主な方法は3つあります。
| 方法 | リアルタイム同期 | 双方向操作 | 技術的な知識 |
|---|---|---|---|
| 手動エクスポート(CSV) | × | × | 不要 |
| API / Power Query | ○ | △ | 必要 |
| CData Excel Add-In | ○ | ○ | 不要 |
CData Excel Add-In はVBA やPower Query による開発なしでRabbitMQ に接続できます。Excel のリボンメニューから操作するだけで、RabbitMQ のデータを取得・追加・更新できます。
RabbitMQ とExcel を連携するメリット
- リアルタイムデータ同期:定期的な手動エクスポートが不要になります。Excel で「ワークブックのリフレッシュ」するだけで、常に最新のRabbitMQ データを取得できます。
- 双方向操作:Excel からRabbitMQ へのデータ追加・更新も可能です。Excel をRabbitMQ の編集フロントエンドとして活用できます。
- コーディング・API 知識不要:API 仕様の知識やVBA スキルは一切不要です。Excel のリボンメニューから直感的に操作できます。
- Excel の全機能を活用:ピボットテーブル、グラフ、条件付き書式など、Excel の豊富な分析・可視化機能をRabbitMQ のライブデータに対してそのまま使えます。
- 270以上のデータソースに対応:CData Excel Add-In はRabbitMQ のほか、270を超えるSaaS・データベース・NoSQL データソースに対応しています。
RabbitMQ への接続を設定
まずは、本記事右側のサイドバーからAPI Excel Add-In の無償トライアルをダウンロード・インストールしてください。30日間無償で、製品版の全機能が使用できます。
RabbitMQ への接続には、Excel Add-in をインストールした後にExcel を起動して、「CData」タブ ->「データの取得」->「取得元:RabbitMQ」とクリックしていきます。
接続エディタが表示されるので、接続プロパティを入力して「接続テスト」をクリックしてください。プロパティの取得方法について説明します。
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 - 仮想ホスト内の特定のキューのバインディング
RabbitMQ のデータの取得
接続設定が完了したら、いよいよRabbitMQ のデータを取得してみましょう。
- 接続が完了すると、以下の「クエリを編集」画面が表示されます。
- 「テーブル/ビュー」項目の「選択」ボタンをクリックします。テーブル一覧が表示されるので、取得したいテーブルを選択してください。今回はAuthAttempts を使います。
- 以下のようにテーブルのメタデータが自動で取得・表示されます。「最大行数」で取得するレコード数を調整することもできます。新規データの一括入力だけが目的の場合は、1行だけを取得するといったことも可能です。
- 「シート名」にデータを追加するExcel シートの名前を入力します。デフォルトでは、取得するテーブル名がシート名になります。準備ができたら「OK」をクリックすると、データが取得されます(以下はすべてサンプルデータです)。
よくある質問
RabbitMQ のデータをExcel でリアルタイム更新できますか?
VBA やマクロのスキルは必要ですか?
RabbitMQ のAPI 仕様を知らなくても使えますか?
取得できるデータ量に制限はありますか?
RabbitMQ からExcel へのデータ連携には、ぜひCData Excel Add-In をご利用ください
このようにCData Excel Add-In と併用することで、270を超えるSaaS、NoSQL データをExcel からコーディングなしで扱うことができます。30日の無償評価版が利用できますので、ぜひ自社で使っているクラウドサービスやNoSQL と合わせて活用してみてください。
CData Excel Add-In は、日本のユーザー向けにUI の日本語化、ドキュメントの日本語化、日本語でのテクニカルサポートを提供しています。