Bubble で使えるElasticsearch のデータ連携用のバックエンドAPI をノーコードで開発

杉本和也
杉本和也
リードエンジニア
ノーコードツールBubble から Elasticsearch のデータに接続するためのバックエンドAPI Server をCData API Server で構築



CData API Server を使って、Bubble から Elasticsearch に接続してデータを取得する方法を説明します。

Elasticsearch データ連携について

CData を使用すれば、Elasticsearch のライブデータへのアクセスと統合がこれまでになく簡単になります。お客様は CData の接続機能を以下の目的で利用しています:

  • SQL エンドポイントと REST エンドポイントの両方にアクセスでき、接続を最適化し、Elasticsearch データの読み書きに関してより多くのオプションを提供します。
  • v2.2 以降およびオープンソース Elasticsearch サブスクリプションを含む、ほぼすべての Elasticsearch インスタンスに接続できます。
  • SCORE() 関数を明示的に要求することなく、常にクエリ結果の関連性スコアを受け取ることができます。これにより、サードパーティツールからのアクセスが簡素化され、クエリ結果のテキスト関連性のランキングを簡単に確認できます。
  • 複数のインデックスを検索でき、クライアントマシンではなく Elasticsearch がクエリと結果の管理・処理を担当します。

ユーザーは、Crystal Reports、Power BI、Excel などの分析ツールと Elasticsearch データを統合し、当社のツールを活用して、Elasticsearch を含むすべてのデータソースへの単一のフェデレートアクセスレイヤーを実現しています。

CData の Elasticsearch ソリューションの詳細については、ナレッジベース記事をご覧ください:CData Elasticsearch Driver Features & Differentiators


はじめに


API Server の設定

以下のリンクからAPI Server の無償トライアルをスタートしたら、セキュアなElasticsearch OData サービスを作成していきましょう。

Elasticsearch への接続

Bubble からElasticsearch のデータを操作するには、まずElasticsearch への接続を作成・設定します。

  1. API Server にログインして、「Connections」をクリック、さらに「接続を追加」をクリックします。 接続を追加
  2. 「接続を追加」をクリックして、データソースがAPI Server に事前にインストールされている場合は、一覧から「Elasticsearch」を選択します。
  3. 事前にインストールされていない場合は、コネクタを追加していきます。コネクタ追加の手順は以下の記事にまとめてありますので、ご確認ください。
    CData コネクタの追加方法はこちら >>
  4. それでは、Elasticsearch への接続設定を行っていきましょう! 接続設定
  5. 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 では、設定したリルムをベースにユーザー認証およびロールの許可が実施されます。

  6. 接続情報の入力が完了したら、「保存およびテスト」をクリックします。

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

API Server のユーザー設定

次に、API Server 経由でElasticsearch にアクセスするユーザーを作成します。「Users」ページでユーザーを追加・設定できます。やってみましょう。

  1. 「Users」ページで ユーザーを追加をクリックすると、「ユーザーを追加」ポップアップが開きます。
  2. 次に、「ロール」、「ユーザー名」、「権限」プロパティを設定し、「ユーザーを追加」をクリックします。
  3. その後、ユーザーの認証トークンが生成されます。各ユーザーの認証トークンとその他の情報は「Users」ページで確認できます。

Elasticsearch 用のAPI エンドポイントの作成

ユーザーを作成したら、Elasticsearch のデータ用のAPI エンドポイントを作成していきます。

  1. まず、「API」ページに移動し、 「 テーブルを追加」をクリックします。
  2. アクセスしたい接続を選択し、次へをクリックします。
  3. 接続を選択した状態で、各テーブルを選択して確認をクリックすることでエンドポイントを作成します。

OData のエンドポイントを取得

以上でElasticsearch への接続を設定してユーザーを作成し、API Server でElasticsearch データのAPI を追加しました。これで、OData 形式のElasticsearch データをREST API で利用できます。API Server の「API」ページから、API のエンドポイントを表示およびコピーできます。

オンプレミスDB やファイルからのAPI Server 使用(オプション)

オンプレミスRDB やExcel/CSV などのファイルのデータを使用する場合には、API Server のCloug Gateway / SSH ポートフォワーディングが便利です。是非、Cloud Gatway の設定方法 記事を参考にしてください。

Elasticsearch のデータに接続したアプリを作成

OData エンドポイントをAPI Server に追加したら、Elasticsearch のデータへのライブ接続が可能なアプリをBubble で作成できます。

Bubble API Connector を設定

まずは、Bubble からCData API Server にアクセスするためのAPI Connector を設定します。

  1. アプリ内で、Plugins タブをクリックして Add plugins をクリックします。
  2. 「API Connector」を検索して「Install」をクリックします。 API Connector プラグインのインストール
  3. インストール後、「Add another API」ボタンをクリックしてAPI を設定します。
    • API に名前を設定します。
    • Authentication を「HTTP Basic Auth」に設定します。
    • Username をAPI Server のユーザーに設定します(user@mydomain.com)。
    • Password を上記のユーザーのPAT に設定します。
    • API Call を展開して、「GET」コマンドを選択してURL を先ほど設定したOData エンドポイントに設定します。
    API Call を設定
  4. 「Initialize call」ボタンをクリックしてレスポンスのデータ型を必要に応じて調整します。 call を初期化
  5. 必要な変更を加えた後、「SAVE」をクリックします。 データ型を保存

App UI の設定

API Connector を設定したら、Bubble アプリでElasticsearch のデータを取得できます。本記事では、Excel ライクなテーブルを表示できるUI コンポーネントでデータをリクエストします。

  1. Plugin タブで、「Excel-like HandsonTable」をインストールします。 Excel-like HandsonTable プラグインを追加
  2. Design タブで、「Excel Table」をワークスペースに追加します。 Excel Table をアプリに追加
  3. Excel Table のData source で、「Get data from an external API」を選択します。
  4. Type of content を「API Call value」に設定します。
  5. Data source を"API Server - <API Call の値>"(またはこれと同等な値)に設定します。 Excel Table をAPI Call にバインド
  6. 「Preview」をクリックしてElasticsearch からデータが取得できたことを確認します。 アプリをプレビュー

この時点で、バックエンドAPI を設定する手間なくElasticsearch のデータへのライブ接続を持つアプリケーションを開発できます。

クラウドアプリケーションからElasticsearch のデータへのライブ接続

Bubble からElasticsearch のリアルタイムデータに直接接続できるようになりました。これで、Elasticsearch のデータを複製せずにより多くの接続とアプリを作成できます。

まとめと30日の無償評価版のご案内

このように Elasticsearch 内のデータをBubble で利用することができるようになります。CData API Server は、30日の無償評価版があります。是非、お試しいただき、Bubble からのデータ参照を体感ください。

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

詳細はこちら、または無料トライアルにお申し込みください:

CData API Server お問い合わせ