SnapLogic を使用して JSON を外部サービスと連携

Jerod Johnson
Jerod Johnson
Senior Technology Evangelist
CData JDBC Driver を SnapLogic で使用して、JSON を外部サービスと連携する方法を説明します。

SnapLogic は、ノーコードでデータ連携フローを作成できる iPaaS(Integration Platform as a Service)です。CData JDBC Driver と組み合わせることで、JSON を含む250を超える SaaS、ビッグデータ、NoSQL ソースのリアルタイムデータに SnapLogic ワークフローからアクセスできます。

CData JDBC Driver は、最適化されたデータ処理機能を内蔵しており、リアルタイム JSON services とのやり取りにおいて比類ないパフォーマンスを発揮します。外部ツールから複雑な SQL クエリが発行されると、ドライバーはフィルタや集計などのサポートされている SQL 操作を JSON に直接プッシュし、サポートされていない操作(多くの場合、SQL 関数や JOIN 操作)は内蔵の SQL エンジンを使用してクライアント側で処理します。動的なメタデータクエリ機能により、ネイティブデータ型を使用して JSON services を操作できます。

SnapLogic から JSON に接続

SnapLogic から JSON services に接続するには、CData JSON JDBC Driver をダウンロードしてインストールします。インストールウィザードに従って進めてください。インストールが完了すると、JAR ファイルはインストールディレクトリ(デフォルトでは C:/Program Files/CData/CData JDBC Driver for JSON/lib)に配置されます。

JSON JDBC Driver のアップロード

インストール後、Manager タブから SnapLogic 内の場所(例:projects/Jerod Johnson)に JDBC JAR ファイルをアップロードします。

接続の設定

JDBC Driver をアップロードしたら、JSON への接続を作成します。

  1. Designer タブに移動します
  2. Snaps から「JDBC」を展開し、「Generic JDBC - Select」snap をデザイナーにドラッグします
  3. Add Account をクリック(または既存のアカウントを選択)し、「Continue」をクリックします
  4. 次のフォームで、JDBC 接続プロパティを設定します:
    • JDBC JARs に、先ほどアップロードした JAR ファイルを追加します
    • JDBC Driver Classcdata.jdbc.json.JSONDriver に設定します
    • JDBC URL を JSON JDBC Driver の JDBC 接続文字列に設定します。例:

      jdbc:json:URI=C:/people.json;DataModel=Relational;RTK=XXXXXX;

      注意:RTK はトライアルキーまたは製品キーです。詳細についてはサポートチームまでお問い合わせください。

      組み込みの接続文字列デザイナー

      JDBC URL の構築には、JSON JDBC Driver に組み込まれている接続文字列デザイナーを使用できます。JAR ファイルをダブルクリックするか、コマンドラインから JAR ファイルを実行してください。

      java -jar cdata.jdbc.json.jar

      接続プロパティを入力し、接続文字列をクリップボードにコピーします。

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

      URI を設定して認証値を入力したら、DataModel を設定してデータ表現とデータ構造をより厳密に一致させます。

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

      • Document(デフォルト):JSON データのトップレベルのドキュメントビューをモデル化します。CData 製品 は、ネストされたオブジェクト配列を集約されたJSON オブジェクトとして返します。
      • FlattenedDocuments:ネストされた配列オブジェクトと親オブジェクトを、単一テーブルに暗黙的に結合します。
      • Relational:階層データから個々の関連テーブルを返します。テーブルには、親ドキュメントにリンクする主キーと外部キーが含まれています。

      リレーショナル表現の設定についての詳細は、ヘルプドキュメントの「JSON データのモデリング」を参照してください。また、以下の例で使用されているサンプルデータも確認できます。データには人や所有する車、それらの車に行われたさまざまなメンテナンスサービスのエントリが含まれています。

      Amazon S3 内のJSON への接続

      URI をバケット内のJSON ドキュメントに設定します。さらに、次のプロパティを設定して認証します。

      • AWSAccessKey:AWS アクセスキー(username)に設定。
      • AWSSecretKey:AWS シークレットキーに設定。

      Box 内のJSON への接続

      URI をJSON ファイルへのパスに設定します。Box へ認証するには、OAuth 認証標準を使います。 認証方法については、Box への接続 を参照してください。

      Dropbox 内のJSON への接続

      URI をJSON ファイルへのパスに設定します。Dropbox へ認証するには、OAuth 認証標準を使います。 認証方法については、Dropbox への接続 を参照してください。ユーザーアカウントまたはサービスアカウントで認証できます。ユーザーアカウントフローでは、以下の接続文字列で示すように、ユーザー資格情報の接続プロパティを設定する必要はありません。 URI=dropbox://folder1/file.json; InitiateOAuth=GETANDREFRESH; OAuthClientId=oauthclientid1; OAuthClientSecret=oauthcliensecret1; CallbackUrl=http://localhost:12345;

      SharePoint Online SOAP 内のJSON への接続

      URI をJSON ファイルを含むドキュメントライブラリに設定します。認証するには、User、Password、およびStorageBaseURL を設定します。

      SharePoint Online REST 内のJSON への接続

      URI をJSON ファイルを含むドキュメントライブラリに設定します。StorageBaseURL は任意です。指定しない場合、ドライバーはルートドライブで動作します。 認証するには、OAuth 認証標準を使用します。

      FTP 内のJSON への接続

      URI をJSON ファイルへのパスが付いたサーバーのアドレスに設定します。認証するには、User およびPassword を設定します。

      Google Drive 内のJSON への接続

      デスクトップアプリケーションからのGoogle への認証には、InitiateOAuth をGETANDREFRESH に設定して、接続してください。詳細はドキュメントの「Google Drive への接続」を参照してください。

  5. 接続プロパティを入力したら、「Validate」をクリックし、「Apply」をクリックします

JSON Services の読み取り

接続の検証と適用後に開くフォームで、クエリを設定します。

  • Schema name を「JSON」に設定します
  • Table name を JSON のテーブルに設定します。スキーマ名を使用して、例:「JSON」.「people」(ドロップダウンで利用可能なテーブルの一覧を確認できます)
  • テーブルから使用する各項目の Output fields を追加します

Generic JDBC - Select snap を保存します。

接続とクエリを設定したら、snap の末尾をクリックしてデータをプレビューします(下図でハイライト表示)。

結果が期待通りであることを確認したら、追加の snap を使用して JSON services を別のエンドポイントに送信できます。

JSON Services を外部サービスにパイプ

この記事では、データを Google スプレッドシートに読み込みます。サポートされている任意の snap を使用するか、別の CData JDBC Driver と Generic JDBC snap を使用して、外部サービスにデータを移動できます。

  1. 「Worksheet Writer」snap を「Generic JDBC - Select」snap の末尾にドロップします。
  2. Google Sheets に接続するためのアカウントを追加します
  3. Worksheet Writer snap を設定して、JSON services を Google スプレッドシートに書き込みます

これで、完全に設定されたパイプラインを実行して、JSON からデータを抽出し、Google スプレッドシートにプッシュできます。

外部データを JSON にパイプ

上記の通り、SnapLogic で JSON 用の JDBC Driver を使用して JSON にデータを書き込むこともできます。まず、Generic JDBC - Insert または Generic JDBC - Update snap をダッシュボードに追加します。

  1. 既存の「Account」(接続)を選択するか、新しいものを作成します
  2. クエリを設定します:
    • Schema name を「JSON」に設定します
    • Table name を JSON のテーブルに設定します。スキーマ名を使用して、例:「JSON」.「people」(ドロップダウンで利用可能なテーブルの一覧を確認できます)
  3. Generic JDBC - Insert/Update snap を保存します

これで、JSON にデータを書き込み、新しいレコードを挿入したり既存のレコードを更新したりする snap が設定されました。

詳細情報と無料トライアル

CData JDBC Driver for JSON を使用することで、SnapLogic で JSON services を外部サービスと連携するパイプラインを作成できます。JSON への接続の詳細については、CData JDBC Driver for JSON ページをご覧ください。CData JDBC Driver for JSON の30日間無料トライアルをダウンロードして、今すぐお試しください。

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

JSON Driver の無料トライアルをダウンロードしてお試しください:

 ダウンロード

詳細:

JSON Icon JSON JDBC Driver お問い合わせ

JSON Web サービス連携のパワフルなJava アプリケーションを素早く作成して配布。