各製品の資料を入手。
詳細はこちら →Mule アプリケーションからElasticsearch のデータにアクセス:CData JDBC Driver
CData JDBC ドライバとHTTP、SQL を組み合わせれば、Elasticsearch のデータのJSON エンドポイントに接続できるMule アプリケーションを簡単に作成できます。
最終更新日:2022-07-28
この記事で実現できるElasticsearch 連携のシナリオ
こんにちは!ドライバー周りのヘルプドキュメントを担当している古川です。
CData JDBC Driver for Elasticsearch はElasticsearch のデータをMule アプリケーションと連携することで、読み、書き、更新、削除といった機能をおなじみのSQL クエリを使って実現します。JDBC ドライバーを使えば、Elasticsearch のデータをバックアップ、変換、レポート作成、分析するMule アプリケーションをユーザーは簡単に作成できます。
本記事では、Mule プロジェクト内でCData JDBC Driver for Elasticsearch を使用して、Elasticsearch のデータのWeb インターフェースを作成する方法を紹介します。作成したアプリケーションを使えば、HTTP 経由でElasticsearch のデータをリクエストして、JSON 形式で結果を取得できます。まったく同様の手順で、すべてのCData JDBC ドライバで250 を超えるデータソースのWeb インターフェースを作成できます。手順は以下のとおりです。
- Anypoint Studio で新しいMule プロジェクトを作る。
- Message Flow にHTTP コネクタを追加する。
- HTTP コネクタのアドレスを設定する。
- HTTP コネクタの追加後、Database Select コネクタを同じフローに追加する。
- データベースへの新しい接続を作成し(または既存の接続を編集し)、プロパティを設定する。
- 接続を「Generic Connection」に設定
- Required Libraries セクションでCData JDBC ドライバのJAR ファイルを指定する(例:cdata.jdbc.elasticsearch.jar)。
- Elasticsearch の接続文字列にURL を指定
Elasticsearch 接続プロパティの取得・設定方法
接続するには、Server およびPort 接続プロパティを設定します。 認証には、User とPassword プロパティ、PKI (public key infrastructure)、またはその両方を設定します。 PKI を使用するには、SSLClientCert、SSLClientCertType、SSLClientCertSubject、およびSSLClientCertPassword プロパティを設定します。
CData 製品は、認証とTLS/SSL 暗号化にX-Pack Security を使用しています。TLS/SSL で接続するには、Server 値に'https://' を接頭します。Note: PKI を 使用するためには、TLS/SSL およびクライアント認証はX-Pack 上で有効化されていなければなりません。
接続されると、X-Pack では、設定したリルムをベースにユーザー認証およびロールの許可が実施されます。
組み込みの接続文字列デザイナ
JDBC 用のURL の作成にサポートが必要な場合は、Elasticsearch JDBC Driver に組み込まれた接続文字列デザイナを使用できます。JAR ファイルをダブルクリックするか、コマンドラインからJAR ファイルを実行してください。
java -jar cdata.jdbc.elasticsearch.jar
接続プロパティを入力して、接続文字列をクリップボードにコピーします。
- Driver クラス名をcdata.jdbc.elasticsearch.ElasticsearchDriver に指定します。
- 「接続テスト」をクリックします。
- SQL Query Text をElasticsearch のデータをリクエストするためのSQL クエリに設定します。例えば、
SELECT Orders.Freight, Customers.ContactName FROM Customers INNER JOIN Orders ON Customers.CustomerId=Orders.CustomerId
。 - Transform Message コンポーネントをフローに追加します。
- Output スクリプトを次のように設定して、ペイロードをJSON に変換します。
%dw 2.0 output application/json --- payload
- Elasticsearch のデータを閲覧するには、HTTP コネクタ用に設定したアドレスに移動します(デフォルトでは、localhost:8081):http://localhost:8081。Web ブラウザおよびJSON エンドポイントを使用可能な他のツール内で、Elasticsearch のデータをJSON として利用できます。
これで、カスタムアプリケーションおよび他のさまざまなBI、帳票、ETL ツールからElasticsearch のデータを(JSON データとして)扱うための簡易なWeb インターフェースを作成できました。Mule アプリケーションからお好みのデータソースにアクセスできる、JDBC Driver for Elasticsearch の30日の無償評価版のダウンロードはこちらから。