Claris FileMaker Pro のスクリプト機能を使ってRabbitMQ のデータに接続

Dibyendu Datta
Dibyendu Datta
Lead Technology Evangelist
CData API Driver for ODBC と FileMaker Pro のスクリプト機能を使用して、RabbitMQ に接続し、FileMaker アプリケーションでRabbitMQ のデータを操作する方法を解説します。



Claris FileMaker は、データの管理や整理のためのカスタムアプリを作成できるローコードデータベースアプリケーション開発ツールです。強力なリレーショナルデータベースエンジンと直感的なインターフェースを組み合わせており、技術者でも非技術者でも、デスクトップ、Web、モバイルプラットフォーム向けのアプリケーションを設計・デプロイできます。

この記事では、CData API Driver for ODBC と FileMaker のスクリプト機能を使ってRabbitMQ のデータに接続する方法を解説します。

RabbitMQ 用の ODBC データソースを作成

まだ設定していない場合は、最初に ODBC DSN(データソース名)で接続プロパティを指定します。これはドライバーインストールの最終ステップでもあります。Microsoft ODBC データソースアドミニストレーターを使用して 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 へのアクセスを有効にするには、以下のステップで進めます:

  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 - 仮想ホスト内の特定のキューのバインディング

DSN を設定する際には、Max Rows 接続プロパティも設定することをお勧めします。これにより返される行数が制限され、レポートやビジュアライゼーションの設計時にパフォーマンスを向上させるのに役立ちます。

スクリプトを使用して FileMaker でRabbitMQ のデータを接続・同期

このセクションでは、CData API Driver for ODBC とスクリプト機能を使用して、FileMaker にリアルタイムのRabbitMQ データを接続する手順を説明します。初回インポート時には、FileMaker は外部データソースからすべてのデータを取り込みます。2回目以降のインポートでは、外部ソースで変更されたデータのみが更新されます(差分更新)。また、現在のレコード順序でデータを置換したり、これらの差分更新を自動同期のためにスケジュール設定することもできます。

Mac/Windows/Linux システム向けの最新版 FileMaker Pro は、こちらのリンクからダウンロード・インストールできます。

スクリプトを使った FileMaker との接続と同期

FileMaker のスクリプト機能を使用すると、単一のコマンドで一連のアクションを実行し、複雑なタスクやワークフローを自動化できます。スクリプトを使ってRabbitMQ と連携することで、FileMaker アプリケーション内でRabbitMQ のデータへの接続、インポート、更新、置換を自動化し、データ管理を効率化できます。

スクリプトを使った初回インポートとデータの追加

このセクションでは、以下の手順でスクリプトを使ってRabbitMQ のデータを FileMaker にインポートします:

  1. FileMaker Pro を開きます。左パネルから Create に移動し、Blank > Create を選択します。
  2. 任意のファイル名を入力して Save をクリックします。
  3. Manage Database ウィンドウで Tables タブに移動し、RabbitMQ のデータを表示するテーブルを作成または名前変更します。
  4. Fields タブで、テーブルで使用するフィールドを作成・追加します。
  5. Relationships タブで、複数のテーブルがある場合はテーブルのリレーションシップを追加し、OK をクリックします。
  6. テーブル構造を再度開いて変更するには、File > Manage > Database に移動します。
  7. Scripts > Script Workspace に移動します。
  8. New Script を選択して新しいスクリプトワークスペースを開きます。
  9. 右側の Steps パネルから Records > Import Records > Insert into Script を選択します。
  10. Specify Data Source ドロップダウンで ODBC Data を選択します。
  11. Select ODBC Data Source ウィンドウから CData API Sys を選択し、Continue をクリックします。RabbitMQ の資格情報を入力して OK をクリックします。
  12. Specify ODBC SQL Query ダイアログで、SQL text エディタに SQL クエリを入力して、インポートしたいRabbitMQ のデータを指定します。
  13. あるいは、Query Builder を選択して SQL Query Builder ウィンドウを開きます。Tables セクションから対象テーブルを選択し、Columns セクションから関連するカラムを選択します。各選択後に Insert into SQL Query をクリックしてクエリを自動生成します。WHEREORDER BY 句、または専用のタブを使用してクエリを手動で編集することもできます。OK をクリックしてクエリを確定します。
  14. OK をクリックします。
  15. Specify import order オプションで Specify をクリックし、RabbitMQ の資格情報を入力します。
  16. Specify Import Order ウィンドウで、先ほど追加したターゲットフィールドのインポート順序を定義します。ソースフィールドとターゲットフィールドの間で Add を選択して、RabbitMQ のデータを新しいレコードとしてテーブルに挿入します。Import をクリックします。
  17. これでスクリプトがワークスペースに表示されます。Run をクリックしてスクリプトを実行し、インポートを処理します。
  18. FileMaker がRabbitMQ のデータをテーブルとしてインポートします。

スクリプトを使ったインポート済みデータの更新または置換

RabbitMQ のデータを FileMaker にインポートした後、以下の手順でスクリプトを使ってRabbitMQ で行われた変更を更新または置換できます:

  1. 前のセクションで説明した手順に従って Script Workspace に戻ります。
  2. 既存のスクリプトを選択し、設定ボタンをクリックして Specify Import Order の下の Specify を選択し、認証のためにRabbitMQ の資格情報を再入力します。
  3. Specify Import Order ウィンドウで、ソースとターゲットの間で Update を選択して、インポート済みのRabbitMQ データを更新します。これにより、マッチフィールドの値が同じ場合に、選択したフィールドのRabbitMQ データ値でターゲットの検索セットが更新されます。マッピングで少なくとも1つのマッチフィールドを定義し、Add remaining data as new records チェックボックスを選択する必要があります。Import をクリックします。
  4. あるいは、ユースケースに応じて Update の代わりに Replace オプションを選択します。これにより、ターゲットの検索セット内の選択したフィールドが、現在のレコード順序でRabbitMQ のデータに置換されます。Import をクリックします。
  5. FileMaker がスクリプトをワークスペースに追加します。Run をクリックしてスクリプトを実行し、インポートクエリを処理します。
  6. FileMaker が更新または置換されたRabbitMQ のデータをテーブルとしてインポートします。

今すぐ始めましょう

CData API Driver for ODBC の30日間無償トライアルをダウンロードして、RabbitMQ のデータを Claris FileMaker に統合し、FileMaker アプリケーションでRabbitMQ のデータを活用してみてください。

ご質問がある場合は、サポートチームまでお問い合わせください。

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

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

RabbitMQ に接続