製品をチェック

製品の情報と30日間無償トライアル

Elasticsearch 連携ソリューション 相談したい

Elasticsearch データにSQL を使ってAnypoint からデータ連携

Elasticsearch のJSON エンドポイントを作成するために、HTTP やSQL をCData Mule Connector とともに使用するシンプルなMule アプリケーションを作成します。

杉本和也
リードエンジニア

最終更新日:2023-10-03

こんにちは!リードエンジニアの杉本です。

CData Mule Connector for Elasticsearch は、Elasticsearch をMule アプリケーションから標準SQL でのread 、write。update、およびdelete 機能を可能にします。コネクタを使うことで、Mule アプリケーションでElasticsearch のバックアップ、変換、レポートおよび分析を簡単に行えます。

この記事では、Mule プロジェクト内のCData Mule Connector for Elasticsearch を使用してElasticsearch 用のWeb インターフェースを作成する方法を説明します。作成されたアプリケーションを使用すると、HTTP リクエストを使用してElasticsearch をリクエストし、結果をJSON として返すことができます。以下のアウトラインと同じ手順を、CData Mule Connector で使用し、250+ の使用可能なWeb インターフェースを作成できます。

  1. Anypoint Studio で新しいMule プロジェクトを作成します。
  2. [Message Flow]にHTTP Connector を追加します。
  3. HTTP Connector のアドレスを設定します。 Add and Configure the HTTP Connector
  4. CData Elasticsearch Connector をHTTP Connector の後に、同じフロー内に追加します。
  5. 新しい接続を作成または既存の接続を編集し、Elasticsearch に接続するようにプロパティを構成します。(以下を参照)接続が構成されたら、[Test Connection]をクリックしてElasticsearch への接続を確認します。

    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 では、設定したリルムをベースにユーザー認証およびロールの許可が実施されます。

    Add the CData Elasticsearch Connector and Configure the Connection (Salesforce is Shown)
  6. CData Elasticsearch Connector を構成します。
    1. [Operation]を[Select with Streaming]に設定します。
    2. [Query type]を[Dynamic]に設定します。
    3. SQL クエリをSELECT * FROM #[message.inboundProperties.'http.query.params'.get('table')] に設定してURL パラメータtable を解析し、SELECT クエリのターゲットとして使用します。他の潜在的なURL パラメータを参照することにより、クエリをさらにカスタマイズできます。
    Configure the CData Elasticsearch Mule Connector (Salesforce is Shown)
  7. [Transform Message Component]をフローに追加します。
    1. 入力から出力のMap にPayload をマッピングします。
    2. Payload をJSON に変換するには、Output スクリプトを以下のように設定します。
        %dw 1.0
        %output application/json
        ---
        payload
                
    Add the Transform Message Component to the Flow
  8. Elasticsearch を表示するには、HTTP Connector 用に構成したアドレス(デフォルトではlocalhost:8081) に移動し、table のURL parameter はhttp://localhost:8081?table=Orders としてテーブル名を渡します。
    Orders データは、Web ブラウザおよびJSON エンドポイントを使用できるその他のツールでJSON として使用できます。

カスタムアプリでElasticsearch をJSON データとして操作するためのシンプルなWeb インターフェースと、様々なBI、レポート、およびETL ツールが完成しました。Mule Connector for Elasticsearch の30日間無料トライアルをダウンロードして今すぐMule Applications でCData の違いを確認してみてください。

トライアル・お問い合わせ

30日間無償トライアルで、CData のリアルタイムデータ連携をフルにお試しいただけます。記事や製品についてのご質問があればお気軽にお問い合わせください。