製品をチェック

製品の詳細・30日間の無償トライアルはこちら

CData Connect

リアルタイムJSON のデータをkrewData 経由でkintone にノーコードで同期

CData Connect Server を使用してJSON のデータに接続し、リアルタイムでデータをkintone に連携します。

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

最終更新日:2022-10-17

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

この記事では、JSON のpeople データをkintone に同期する方法を紹介します。グレープシティ社のkrewData というkintone プラグインとCData Connect Server を使うと、JSON をはじめとする100を超えるSaaS データをノーコードでkintone に取り込むことが可能です。

krewData とは?

krewData は、グレープシティ社が提供するkintone のプラグインで、kintone の複数のアプリ間やExcel・CSV ファイルとkintone のデータ統合をkintone 上で行うことができます。

https://krew.grapecity.com/products/krewdata.htm

ホスティングについて

krewData からCData Connect Server に接続するには、利用するConnect Server インスタンスをネットワーク経由での接続が可能なサーバーにホスティングして、URL での接続を設定する必要があります。CData Connect がローカルでホスティングされており、localhost アドレス(localhost:8080 など)またはローカルネットワークのIP アドレス(192.168.1.x など)からしか接続できない場合、krewData はCData Connect Server に接続することができません。

クラウドホスティングでの利用をご希望の方は、AWS MarketplaceGCP Marketplace で設定済みのインスタンスを提供しています。


JSON のデータの仮想データベースを作成する

CData Connect Server は、シンプルなポイントアンドクリックインターフェースを使用してデータソースに接続し、データを取得します。まずは、右側のサイドバーのリンクからConnect Server をインストールしてください。

  1. Connect Server にログインし、「CONNECTIONS」をクリックします。 データベースを追加
  2. 一覧から「JSON」を選択します。
  3. JSON に接続するために必要な認証プロパティを入力します。

    データソースへの認証については、ヘルプドキュメントの「はじめに」を参照してください。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 への接続」を参照してください。

    コネクションを設定(Salesforce の場合)。
  4. Test Connection」をクリックします。
  5. 「Permission」->「 Add」とクリックし、適切な権限を持つ新しいユーザー(または既存のユーザー) を追加します。

仮想データベースが作成されたら、krewData を含むお好みのクライアントからJSON に接続できるようになります。

コネクションが構成されたら、kintone 上のkrewData プラグインからJSON に接続できるようになります。

krewData でJSON のデータをkintone に同期する

ここからは、kintone のプラグインであるkrewData での設定になります。

krewData の設定

krewData のプラグインインストールとkintone での設定については、こちらのリンクを参照してください。

https://krew.grapecity.com/products/krewdata.htm

kintone にkrewData プラグインを入れ、必要な権限設定を行ってください。

krewData の入力としてJSON を設定

ここからは、実際にJSON をkintone にロードするフローを作成していきます。krewData 自体は、複数データソースの統合、データのフィルタリング、集計処理など多様な機能を有するETL ですが、今回はシンプルにJSON のpeople データをkintone のアプリに同期するフローを作成します。

  1. kintone 画面でアプリにkrewData が表示されているので、これをクリックします。
  2. krewData アプリ画面の右上の「⚙」をクリックし、「設定」を開きます。
  3. 「設定」タブからプラグインをクリックします。これでkrewData のプラグイン操作画面に来ました。
  4. 「+データ編集フローを作成」の文字をクリックしてフローを作成します。作成されたフローが表示されますので、「⚙」マークをクリックしてフローを編集します。
  5. フロー編集画面が開きます。通常のkrewData フローは「入力アプリ」ではじまり、間にいくつかの処理モジュールを入れた後に「出力アプリ」で閉じる形です。CData Connect Server を使う場合には、一番下の「外部連携」の「CData Connect Server入力」モジュールを使います。
    「CData Connect Server入力」を左ペインからドラッグして、フローキャンバスにドロップします。そこからコマンド設定を行っていきます。「アプリを選択」をクリックします。
  6. 「+新しい外部サービス情報アプリを作成する」をクリックして、アプリ名を入力してアプリを作成します。こちらはkrewData の連携で使われるアプリですので、通常のkintone アプリを設定することはできません。OK をクリックします。
  7. 同じ入力コマンドで「サインイン」をクリックして、CData Connect Server にkrewData からサインインします。アカウント選択画面がでるので、「別のアカウントを追加」ボタンをクリックします。CData Connect Server アカウント設定画面が表示されるので、Connect Server への接続を行います。
    CData Connect Server アカウント:Connect Server のユーザー名
    Personal Access Token:Connect Server ユーザーのパスワード
    OK を押してConnect Server に接続します。
  8. 次に「データソースを選択」ボタンをクリックします。まずどのConnection を使うかを選択するので、先ほど作成したJSON のConnection をドロップダウンから選択します。
  9. JSON のどのオブジェクト(テーブル)を使うかを選択します。CData Connect Server がJSON のオブジェクト(含むカスタムオブジェクト)をフラットなテーブル構造にモデル化しています。今回はpeople を選択します。OK を押してテーブル選択を保存します。
  10. ここでJSON からkrewData に取得するデータの絞り込み条件をかけることができます。特にデータ量が多い場合には、パフォーマンスを上げるためにフィルタ条件をかけることをおすすめします。krewData のGUI でフィルタリング条件をかけるカラムを指定し、条件を設定することが可能です。
  11. 最後にkrewData で使用するフィールドを選択します。
  12. テーブル設定、フィルタリング設定、フィールド設定まで終わったら「プレビュー」タブをクリックして、実際に取得されるデータを見ることができます。

kintone へのアウトプットを設定

kintone への出力を行う設定を行います。

  1. 「出力アプリ」を左ペインからドラッグしてフローキャンバスにドロップします。先ほどのCData Connect Server入力アプリと出力アプリを線でつなぎます。
  2. 「アプリを選択」ボタンをクリックして、入力アプリと同様に新しいアプリを作成します。
  3. 出力アプリの設定として、2回目以降の同期の際のデータの更新の方法をしていします。今回はUPSERT 設定で更新または追加にチェックをいれています。
  4. 更新キーをしていできるので、ID カラムにチェックを入れて更新キーにします。
  5. これで出力アプリの設定が完了したので、左上の「アプリを更新」をクリックしてフローを保存します。

JSON people のkintone への同期フローを実行

では、実際にフローを実行していきます。

まずはユーザー情報を指定する必要があります。左上の「設定ファイル」タブをクリックします。kintone のログイン名とパスワードを入力します。セキュアアクセスを使っている場合にはセキュアアクセス設定が必要です。

右上の「▶実行」ボタンをクリックして、フローを実行しましょう!!!
「成功」の表示がでました。

実際にkintone 上で出力アプリとして設定したアプリを開いてみます。ちゃんとJSON people 情報がkintone アプリのレコードとして同期されていました。

まとめ

いかがでしたか?このようにCData Connect Server とkrewData を使って、簡単にJSON のpeople データをkintone にノーコードで同期することができました。

是非、CData Connect Server で他の100を超えるデータソースでもkintone への同期をお試しください。

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

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