CData Python Connector for RabbitMQ はじめに:インストールから接続まで

Mohsin Turki
Mohsin Turki
Technical Marketing Engineer
CData Python Connector のインストール、ライセンス認証、RabbitMQ のデータ への接続設定方法を解説します。

and configure a connection to live RabbitMQ のデータ." />

このガイドでは、CData Python Connector をインストールし、ライセンスを認証して、 ライブの RabbitMQ のデータ に接続する方法を解説します。以下の内容を学べます:

  1. コネクタのインストールとライセンスの適用
  2. RabbitMQ への接続設定
  3. Python アプリケーションでライブの RabbitMQ のデータ を統合する手順

それでは始めましょう。

前提条件

  1. お使いのマシンに Python(v3.8 以上)がインストールされていること。 こちらからダウンロードしてインストールしてください。
  2. 有効なライセンスを持つ CData API Driver for Python。 こちらからダウンロードしてインストールしてください。
  3. 有効な資格情報を持つアクティブな RabbitMQ アカウント。

ステップ 1:インストールとライセンス認証


1.1 コネクタのインストール

Python の依存関係について:Python がインストールされていることを確認してください。 CData Python Connector は Python バージョン 3.8、3.9、3.10、3.11、3.12 をサポートしています。 この範囲外のバージョンを使用している場合は、virtualenv で仮想環境を作成する必要がある場合があります。

Windows でのインストール

  1. コネクタ ZIP をダウンロードして解凍し、 目的の場所に配置します。
  2. ターミナルまたはコマンドプロンプトを開き、.whl ファイルがある場所(/win/ ディレクトリ内)に移動します。 例:
    ~\Downloads\APIPythonConnector\CData.Python.API\win\Python312\64
  3. pip を使用して .whl ファイルをインストールします。 Python のバージョンとアーキテクチャに一致するファイルを使用してください。例:
            pip install cdata_api_connector-24.0.9111-cp312-cp312-win_amd64.whl
            
  4. pip list を実行してインストールを確認します。 cdata-api-connector が表示されれば、インストールは成功です。

Linux/Mac でのインストール

  1. コネクタ ZIP をダウンロードして解凍し、 目的の場所に配置します。
  2. ターミナルを開き、解凍したインストールディレクトリに移動して、 /unix/ または /mac/ フォルダ内の .tar.gz ファイルを確認します。 例:
    ~/Downloads/APIPythonConnector/CData.Python.API/unix/
    または
    CData.Python.API/mac/
  3. pip を使用して .tar.gz ファイルをインストールします。例:
            pip install cdata_api_connector-24.0.####-python3.tar.gz
            
  4. pip list を実行してインストールを確認します。 cdata-api-connector が表示されれば、インストールは成功です。

1.2 ライセンスの認証

購入後、CData Orders チームからメールでライセンスキーを受け取っているはずです。 ライセンスキーは次のような 25 文字のコードです:XXXXX-XXXXX-XXXXX-XXXXX-XXXXX

Windows でのライセンス認証

  1. ターミナルまたはコマンドプロンプトを開き、Python インストールの site-packages ディレクトリ内の cdata フォルダに移動します。
  2. パスの例:
    C:\Users\Username\AppData\Local\Programs\Python\Python312\Lib\site-packages\cdata\installlic_api
  3. ライセンスキーを指定して license-installer.exe ファイルを実行します:
            .\license-installer.exe [YOUR LICENSE KEY HERE]
            
  4. プロンプトが表示されたら、登録済みの名前とメールアドレスを入力して認証を完了します。

Linux/macOS でのライセンス認証

  1. ターミナルを開き、Python の site-packages ディレクトリ内の cdata フォルダに移動します。 このディレクトリは通常、以下の場所にあります:
    ~/Library/Python/3.12/lib/python/site-packages/cdata/installlic_api または
    /usr/local/lib/python3.12/site-packages/cdata/installlic_api
  2. Linux/Mac ライセンスインストーラースクリプトを実行します:
            ./install-license.sh [YOUR LICENSE KEY HERE]
            
  3. プロンプトが表示されたら、登録済みの名前とメールアドレスを入力して認証を完了します。

ライセンスに関するよくある質問

ライセンスは複数のマシンで使用できますか?
はい、サブスクリプションプランによります。注文確認メールを確認するか、アカウント担当者にお問い合わせください。 アカウント担当者が不明な場合は、[email protected] までお問い合わせください。

ライセンスキーを紛失しました。どうすれば取得できますか?
注文番号を添えて [email protected] までメールでお問い合わせいただければ、ライセンスキーを再送いたします。

ライセンスを別のマシンに移行できますか?
はい。以下のリンクからライセンス移行リクエストを送信する必要があります:

https://jp.cdata.com/contact/

ライセンス移行リクエストが送信され、処理されると、プロダクトキーに追加のアクティベーションが付与されます。 その後、新しいマシンで正規ライセンスを認証できます。 このプロセスが完了すると、以前のマシンのライセンスは無効になります。

ライセンスに関するその他のご質問は、[email protected] までお問い合わせください。 ライセンスの確認と管理は、セルフサービスポータル portal.cdata.com から行えます。


ステップ 2:接続設定

インストールとライセンス認証が完了したら、CData Python Connector を使用して接続を確立できます。

2.1 接続の確立

CData Python Connector for RabbitMQ は、標準の import 文でインポートできる Python モジュールとして公開されており、 それを基にアプリケーションコードを構築できます。

コネクタには sys_tablessys_tablecolumns などの 組み込みメタデータツールも含まれており、RabbitMQ のデータsys_tablecolumns, which allow you to perform schema discovery — including available 利用可能なテーブル、カラム、構造メタデータを含むスキーマ検出を実行できます。

以下の例では、認証プロパティを使用して RabbitMQ への接続を確立し、 特定のテーブルからカラム名を取得します。

以下の接続文字列の値を実際の資格情報に置き換え、必要に応じて '[TABLE NAME]' のテーブル名を更新してください。 in '[TABLE NAME]' as needed.

RabbitMQ インスタンスで MFA や追加のセキュリティ要件を使用している場合は、 接続文字列に PasscodeSecurityToken などのプロパティを含める必要がある場合があります。 サポートされているプロパティの完全なリストについては、 コネクタヘルプドキュメントConnection String Options セクションを参照してください Connector Help documentation (コネクタの help ディレクトリ内でも参照可能です)。



import cdata.api as mod

# 設定したプロパティを使用して接続を確立
conn = mod.connect(
    "Profile=C:\profiles\\RabbitMQ.apip;"
    "AuthScheme=Basic;"
    "URL=http://localhost:15672;"
    "User=guest;"
    "Password=guest;"
)

# 指定したテーブルのカラム名をクエリ
cur = conn.cursor()
cur.execute("SELECT ColumnName FROM sys_tablecolumns WHERE TableName = '[TABLE NAME]'")

print("テーブルのカラム:")
for row in cur.fetchall():
    print(row[0])

cur.close()
conn.close()

このコードは RabbitMQ に接続し、メタデータカタログをクエリして、 指定したテーブルのすべてのカラム名を出力します。完全な コネクタドキュメント を参照して、追加のスキーマ、テーブル、その他のサポートされているメタデータビューを 探索するための SQL クエリの変更方法を学べます。


2.2 利用可能な接続設定

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

2.3 よくある接続の問題

認証エラー

解決策:UserPassword、および RabbitMQ で必要な追加の認証プロパティが正しいことを確認してください。 データソースが MFA、SSO、またはパスコードを強制している場合は、 接続文字列に正しいプロパティが含まれていることを確認してください。 サポートされている認証プロパティの完全なリストについては、 コネクタドキュメントを参照するか、 認証設定の検証については [email protected] までお問い合わせください。

サーバーに接続できない

解決策:接続文字列のエンドポイント URL が正しく、 環境からアウトバウンド HTTPS トラフィックが許可されていることを確認してください。 ファイアウォールやプロキシの背後にいる場合は、Python がサービス URL に 到達できることを確認してください。 ネットワーク設定の詳細やポート要件については、 [email protected] までお問い合わせください。

Table Not Found

テーブルが見つからない

解決策:SQL クエリの DatabaseSchema、およびテーブル名を確認してください。 sys_tablessys_tablecolumns などのメタデータビューを使用して、 RabbitMQ のデータ が公開している正確なテーブル名とカラム名を確認してください。 テーブル名が大文字小文字を区別する場合は、クエリで正しい大文字小文字を使用していることを確認してください。

Module Not Found or Import Errors

モジュールが見つからない、またはインポートエラー

解決策:Python Connector が正しい環境にインストールされていることを確認してください。 pip list を実行して、コネクタ (cdata-api-connector)が存在することを確認してください。 仮想環境を使用している場合は、スクリプトを実行する前に正しい環境を有効にしてください。

Connection String Errors

接続文字列エラー

解決策:プロパティのフォーマットが正しくない、またはセミコロンが欠落していると、 コネクタが接続設定を解析できなくなります。 接続文字列を確認し、各プロパティが正しい Key=Value; 形式に従っていることを確認してください。 RabbitMQ でサポートされているプロパティ名については、Python Connector ドキュメントを参照してください。

For additional connection troubleshooting, contact 接続に関するその他のトラブルシューティングについては、完全なエラーメッセージを添えて (機密の資格情報をマスクしてから)[email protected] までお問い合わせください。


ステップ 3:次のステップ

コネクタがインストールされ、接続が設定されたら、 Python でライブの RabbitMQ のデータ を操作できます。以下のリソースを参照して、 統合を拡張し、複雑なワークフローを構築してください。


サポート

ご不明な点がございましたら、お気軽にお問い合わせください:


よくある質問

インストールとライセンス

  • コネクタのインストールには管理者権限が必要ですか?
    Python Connector のインストール自体には管理者権限は必要ありませんが、 ライセンスの適用やシステム全体の Python 環境へのインストール時には必要になる場合があります。
  • 複数の Python 環境にコネクタをインストールできますか?
    はい。環境ごと(venv、Conda、システム Python)に一度インストールしてください。 各環境は独自のパッケージを管理し、認証後はマシンライセンスを使用します。

接続

  • 認証情報はどのように提供しますか?
    mod.connect() を呼び出す際に、接続文字列で認証プロパティを渡します。 サポートされているプロパティの完全なリストについては、コネクタヘルプドキュメントを参照してください。
  • テーブルとカラムを検出するにはどうすればよいですか?
    sys_tablessys_tablecolumns などのメタデータビューを使用してください。 例:
    SELECT * FROM sys_tables;
  • プロキシサーバー経由で接続できますか?
    はい。接続文字列に ProxyServerProxyPortProxyUser などの プロキシプロパティを含めてください。 詳細については、ドキュメントの Firewall & Proxy セクションを参照してください。

パフォーマンスとトラブルシューティング

  • クエリが遅いのはなぜですか?
    以下を確認してください:
    • フィルター(WHERE 句)を追加して結果サイズを削減する
    • 頻繁に変更されないデータにはキャッシュを使用する
    • DatabaseSchema の選択情報が正しいことを確認する
    • 最適化のサポートについては [email protected] までお問い合わせください
  • ログを有効にするにはどうすればよいですか?
    接続文字列にログプロパティを直接追加します。例: Logfile=/path/log.txt;Verbosity=5;
    Verbosity はログの詳細レベルを制御します。 サポートを依頼する際は、このログファイルを [email protected] に送信してください。
  • どのポートを開放する必要がありますか?
    ほとんどのクラウドサービスは、ポート 443 でアウトバウンド HTTPS を必要とします。 ソース固有の要件については、 [email protected] までお問い合わせください。
  • インポート時に「Module not found」と表示されるのはなぜですか?
    スクリプトを実行する Python 環境にコネクタがインストールされていることを確認してください。 pip list または pip show を使用してインストールを確認してください。

一般

  • サポートされている SQL 構文はどこで確認できますか?
    コネクタドキュメントの SQL Compliance セクションを参照してください。
  • コネクタはどのくらいの頻度で更新されますか?
    CData はメジャーアップデートを年次でリリースし、定期的なパッチを提供します。 最新バージョンについては、アカウントポータルを確認するか、サポートにお問い合わせください。
  • その他のコード例はどこで確認できますか?
    オンラインドキュメントには、接続、クエリ、フィルタリング、ページング、 メタデータビューの操作に関する例が含まれています。

この FAQ で解決しない場合は、 [email protected] までお問い合わせください。

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

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

RabbitMQ に接続