APOS Live Data Gateway でRabbitMQ のデータのセマンティックレイヤービューを構築

古川えりか
古川えりか
コンテンツスペシャリスト
APOS Live Data Gateway からCData Connector for RabbitMQを使って、RabbitMQ のデータのセマンティックレイヤービューを構築します。

APOS Live Data Gateway(LDG)は、SAP Analytics Cloud をはじめとするSAP ソリューションのリアルタイムデータ接続やデータソースオプションの拡張を実現する、データ連携およびデータ変換ソリューションです。CData コネクタと組み合わせると、ユーザーはリアルタイムRabbitMQ のデータのセマンティックレイヤービューを構築し、リレーショナルデータベースを扱うのと同じようにRabbitMQ のリアルタイム分析を行うことができます。

最適化されたデータ処理が組み込まれたCData コネクタは、リアルタイムRabbitMQ のデータを扱う上で比類のないパフォーマンスを提供します。RabbitMQ に複雑なSQL クエリを発行すると、ドライバーはフィルタや集計などのサポートされているSQL 操作をRabbitMQ に直接プッシュし、サポートされていない操作(主にSQL 関数とJOIN 操作)は組み込みSQL エンジンを利用してクライアント側で処理します。 組み込みの動的メタデータクエリを使用すると、ネイティブデータ型を使ってRabbitMQ のデータを操作および分析できます。

コネクタファイルのダウンロードおよびインストール

APOS Live Data Gateway を経由してRabbitMQ のデータにアクセスするには、APOS からコネクタファイルをダウンロードしてLive Data Gateway をホストするマシンにインストールする必要があります。APOS の担当者から必要なファイルが届きます。

  • CData DLL ファイル(System.Data.CData.API.dll)をAPOS Live Data Gateway のインストールディレクトリ(デフォルトではC:\Program Files\Live Data Gateway\Admin\)にインストールします。
  • CData JAR ファイル(cdata.jdbc.api.jar)をインストールディレクトリ(デフォルトではC:\Program Files\Live Data Gateway\Admin\ConnectionTest_lib\)のConnectionTest_lib フォルダにインストールします。
  • CData JAR ファイル(cdata.jdbc.api.jar)をWeb UI インストールディレクトリ(例:C:\LDG_WebUI\lib\)のlib フォルダにインストールします。

RabbitMQ 接続文字列の設定

APOS Live Data Gateway からRabbitMQ への接続を確立する前に、RabbitMQ のJDBC 接続文字列を構築する必要があります。

組み込みの接続文字列デザイナー

JDBC 接続文字列作成の補助として、RabbitMQ JDBC Driver に組み込まれている接続文字列デザイナーが使用できます。JAR ファイルをダブルクリックするか、コマンドラインからjar ファイルを実行します。

java -jar cdata.jdbc.api.jar

接続プロパティを入力し、接続文字列をクリップボードにコピーします。

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 へのアクセスを有効にするには、以下のステップで進めます:

  1. サーバーで RabbitMQ Management プラグインが有効になっていることを確認します(rabbitmq-plugins enable rabbitmq_management)。
  2. 既存の管理ユーザーを使用するか、適切な管理タグ(management、policymaker、monitoring、または administrator)を持つユーザーを作成します。
  3. 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 - 仮想ホスト内の特定のキューのバインディング

接続文字列は以下のようになります。

jdbc:API:Profile=C:\profiles\\RabbitMQ.apip;AuthScheme=Basic;URL=http://localhost:15672;User=guest;Password=guest;

RabbitMQ への接続とセマンティックレイヤービューの作成

コネクタファイルのインストールと接続文字列の設定が完了したら、Live Data Gateway Admin ツールでRabbitMQ に接続し、Live Data Gateway Web UI でセマンティックレイヤービューを構築していきましょう。

RabbitMQ への接続を構成

  1. APOS Live Data Gateway Manager にログインします。
  2. まだAPOS LDG のライセンスファイルを更新していない場合は、更新してください。
    1. 「File」->「Configurations」をクリックします。
    2. License の「...」メニューをクリックします。
    3. APOS チームで CData Connector ライセンスを含むライセンスファイルを選択します。
  3. APOS Live Data Gateway Manager で、「Add」をクリックします。
  4. APOS Live Data Gateway のConnection タブで、接続を設定します。
    • Data Source を「Database」に設定します。
    • Database を「CData Drivers」に設定します。
    • Database CData Drivers を「RabbitMQ」に設定します。
    • Connection String を、以下の例のような先に構築した接続文字列に設定します。
      jdbc:API:Profile=C:\profiles\\RabbitMQ.apip;AuthScheme=Basic;URL=http://localhost:15672;User=guest;Password=guest;
    • Driver Class を「cdata.jdbc.api.APIDriver」(デフォルト設定)に設定します。
  5. 「Test Connection」をクリックします。
  6. 「Save」をクリックします。
  7. 接続に固有の接頭辞を付けます(例:"api")。
  8. 新しく作成した接続をハイライトし、「File」->「Approve Users For Web UI」をクリックします。
  9. ビューを作成する適切なDB ユーザーを承認し、「Save」をクリックします。

これで、Live Data Gateway Web UI でセマンティックレイヤービューを構築する準備が整いました。

セマンティックレイヤービューを作成

  1. ブラウザで、APOS Live Data Gateway Portal に移動します。
  2. Connection(例:"api")を選択します。
  3. User NamePassword を、それぞれRabbitMQ のUser プロパティとPassword プロパティに設定します。
  4. 「Login」をクリックします。
  5. 接続後、「Semantic Layer」をクリックし、新しいセマンティックレイヤービューを作成します。
  6. 「New Semantic Layer View」をクリックします。
  7. Semantic Layer View Prefix およびSemantic Layer View Name を設定します。
  8. 「Step 2」をクリックします。
  9. ビューに追加したいテーブルとカラムを選択します。
  10. 「Step 3」をクリックします。
  11. 利用可能なテーブルのカラムでMeasure を選択します。
  12. 「Step 5」をクリックします(「Extra Dimensions」ステップはスキップします)。
  13. 任意のVariable Prompt を追加します。
  14. 「Step 6」をクリックします。
  15. 任意のTable Join を定義します。
  16. 「Review」をクリックします。
  17. セマンティックレイヤービューを確認し、「Save」をクリックします。

セマンティックレイヤービューを作成できたので、APOS Live Data Gateway を経由してRabbitMQ のデータにアクセスする準備が整い、SAP Analytics Cloud や他のSAP ソリューションからRabbitMQ のデータへのリアルタイムデータ接続が可能になりました。

詳細と無料トライアル

APOS Live Data Gateway でリアルタイムRabbitMQ のデータを扱うための詳細は、APOS Systems - APOS Solutions - Request Evaluation Software で評価用ソフトウェアをリクエストするか、[email protected] にメールでお問い合わせください。

APOS Live Data Gateway の設定

はじめる準備はできましたか?

API Driver で RabbitMQ のライブデータに接続

RabbitMQ に接続