製品をチェック

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

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

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

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

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

最終更新日:2023-10-03

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

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

この記事では、Mule プロジェクト内のCData Mule Connector for REST を使用してREST 用のWeb インターフェースを作成する方法を説明します。作成されたアプリケーションを使用すると、HTTP リクエストを使用してREST をリクエストし、結果を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 REST Connector をHTTP Connector の後に、同じフロー内に追加します。
  5. 新しい接続を作成または既存の接続を編集し、REST に接続するようにプロパティを構成します。(以下を参照)接続が構成されたら、[Test Connection]をクリックしてREST への接続を確認します。

    データソースへの認証については、データプロバイダーのヘルプドキュメントの「はじめに」を参照してください: データプロバイダーはREST API を双方向データベーステーブルとして、XML/JSON ファイル(ローカルファイル、一般的なクラウドサービスに保存されているファイル、FTP サーバー)を読み取り専用のビューとしてモデル化します。HTTP Basic、Digest、NTLM、OAuth、FTP などの主要な認証スキームがサポートされています。認証についての詳細は、ヘルプドキュメントの「はじめに」を参照してください。

    URI を設定し、認証値を指定したら、Format を"XML" または"JSON" に設定して、データ表現をデータ構造により厳密に一致させるようにDataModel を設定します。

    DataModel プロパティは、データをどのようにテーブルに表現するかを制御するプロパティで、以下の基本的な設定を切り替えます。

    • Document (デフォルト):REST データのトップレベルのドキュメントビューをモデル化します。データプロバイダーはネストされたエレメントをデータの集計として返します。
    • FlattenedDocuments:ネストされたドキュメントとその親を単一テーブルとして暗黙的に結合します。
    • Relational:階層データから個々の関連テーブルを返します。テーブルには、親ドキュメントにリンクする主キーと外部キーが含まれます。

    リレーショナル表現の構成について詳しくは、「REST データのモデル化」を参照してください。次の例で使用されているサンプルデータもあります。データには、人、所有している車、およびそれらの車で行われたさまざまなメンテナンスサービスのエントリが含まれています。The data includes entries for people, the cars they own, and various maintenance services performed on those cars.

    Add the CData REST Connector and Configure the Connection (Salesforce is Shown)
  6. CData REST 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 REST 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. REST を表示するには、HTTP Connector 用に構成したアドレス(デフォルトではlocalhost:8081) に移動し、table のURL parameter はhttp://localhost:8081?table=people としてテーブル名を渡します。
    people データは、Web ブラウザおよびJSON エンドポイントを使用できるその他のツールでJSON として使用できます。

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

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

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