こんにちは!リードエンジニアの杉本です。
この記事では、BASE のCustomers, Orders データをkintone に同期する方法を紹介します。グレープシティ社のkrewData というkintone プラグインとCData Connect Server を使うと、BASE をはじめとする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 Marketplace やGCP Marketplace で設定済みのインスタンスを提供しています。
BASE のデータの仮想データベースを作成する
CData Connect Server は、シンプルなポイントアンドクリックインターフェースを使用してデータソースに接続し、データを取得します。まずは、右側のサイドバーのリンクからConnect Server をインストールしてください。
- Connect Server にログインし、「CONNECTIONS」をクリックします。
- 一覧から「BASE」を選択します。
-
BASE に接続するために必要な認証プロパティを入力します。
最初に、BASE のOAuth アプリを作成する必要があります。作成するには、https://developers.thebase.in/dashboardにアクセスし、「Create
New Application」ボタンをクリックします。アプリ名を入力し、リダイレクトURLを指定して「Register」をクリックします。これで、クライアントIDとクライアントシークレットが表示されます。
次に、プロファイルをダウンロードしてドライバーがアクセス可能な場所に配置します。こちらからプロファイルをダウンロードして、「C:/profiles/」 などに設置してください。
以下の接続プロパティを設定すると、接続できるようになります。
- AuthScheme: OAuth に設定します。
- OAuthClientID: アプリ設定で指定したOAuth クライアントID を設定します。
- OAuthClientSecret: アプリ設定で指定したOAuth クライアントシークレットを設定します。
- CallbackURL: アプリ設定で指定したリダイレクトURI を設定します。
- InitiateOAuth: GETANDREFRESH に設定します。この設定を使って、OAuthAccessToken を取得するプロセスを管理できます。
- 「 Test Connection」をクリックします。
- 「Permission」->「 Add」とクリックし、適切な権限を持つ新しいユーザー(または既存のユーザー) を追加します。
仮想データベースが作成されたら、krewData を含むお好みのクライアントからBASE に接続できるようになります。
コネクションが構成されたら、kintone 上のkrewData プラグインからBASE に接続できるようになります。
krewData でBASE のデータをkintone に同期する
ここからは、kintone のプラグインであるkrewData での設定になります。
krewData の設定
krewData のプラグインインストールとkintone での設定については、こちらのリンクを参照してください。
https://krew.grapecity.com/products/krewdata.htm
kintone にkrewData プラグインを入れ、必要な権限設定を行ってください。
krewData の入力としてBASE を設定
ここからは、実際にBASE をkintone にロードするフローを作成していきます。krewData 自体は、複数データソースの統合、データのフィルタリング、集計処理など多様な機能を有するETL ですが、今回はシンプルにBASE のCustomers, Orders データをkintone のアプリに同期するフローを作成します。
- kintone 画面でアプリにkrewData が表示されているので、これをクリックします。
- krewData アプリ画面の右上の「⚙」をクリックし、「設定」を開きます。
- 「設定」タブからプラグインをクリックします。これでkrewData のプラグイン操作画面に来ました。
- 「+データ編集フローを作成」の文字をクリックしてフローを作成します。作成されたフローが表示されますので、「⚙」マークをクリックしてフローを編集します。
- フロー編集画面が開きます。通常のkrewData フローは「入力アプリ」ではじまり、間にいくつかの処理モジュールを入れた後に「出力アプリ」で閉じる形です。CData Connect Server を使う場合には、一番下の「外部連携」の「CData Connect Server入力」モジュールを使います。
「CData Connect Server入力」を左ペインからドラッグして、フローキャンバスにドロップします。そこからコマンド設定を行っていきます。「アプリを選択」をクリックします。
- 「+新しい外部サービス情報アプリを作成する」をクリックして、アプリ名を入力してアプリを作成します。こちらはkrewData の連携で使われるアプリですので、通常のkintone アプリを設定することはできません。OK をクリックします。
- 同じ入力コマンドで「サインイン」をクリックして、CData Connect Server にkrewData からサインインします。アカウント選択画面がでるので、「別のアカウントを追加」ボタンをクリックします。CData Connect Server アカウント設定画面が表示されるので、Connect Server への接続を行います。
CData Connect Server アカウント:Connect Server のユーザー名
Personal Access Token:Connect Server ユーザーのパスワード
OK を押してConnect Server に接続します。
- 次に「データソースを選択」ボタンをクリックします。まずどのConnection を使うかを選択するので、先ほど作成したBASE のConnection をドロップダウンから選択します。
- BASE のどのオブジェクト(テーブル)を使うかを選択します。CData Connect Server がBASE のオブジェクト(含むカスタムオブジェクト)をフラットなテーブル構造にモデル化しています。今回はCustomers, Orders を選択します。OK を押してテーブル選択を保存します。
- ここでBASE からkrewData に取得するデータの絞り込み条件をかけることができます。特にデータ量が多い場合には、パフォーマンスを上げるためにフィルタ条件をかけることをおすすめします。krewData のGUI でフィルタリング条件をかけるカラムを指定し、条件を設定することが可能です。
- 最後にkrewData で使用するフィールドを選択します。
- テーブル設定、フィルタリング設定、フィールド設定まで終わったら「プレビュー」タブをクリックして、実際に取得されるデータを見ることができます。
kintone へのアウトプットを設定
kintone への出力を行う設定を行います。
- 「出力アプリ」を左ペインからドラッグしてフローキャンバスにドロップします。先ほどのCData Connect Server入力アプリと出力アプリを線でつなぎます。
- 「アプリを選択」ボタンをクリックして、入力アプリと同様に新しいアプリを作成します。
- 出力アプリの設定として、2回目以降の同期の際のデータの更新の方法をしていします。今回はUPSERT 設定で更新または追加にチェックをいれています。
- 更新キーをしていできるので、ID カラムにチェックを入れて更新キーにします。
- これで出力アプリの設定が完了したので、左上の「アプリを更新」をクリックしてフローを保存します。
BASE Customers, Orders のkintone への同期フローを実行
では、実際にフローを実行していきます。
まずはユーザー情報を指定する必要があります。左上の「設定ファイル」タブをクリックします。kintone のログイン名とパスワードを入力します。セキュアアクセスを使っている場合にはセキュアアクセス設定が必要です。
右上の「▶実行」ボタンをクリックして、フローを実行しましょう!!!
「成功」の表示がでました。
実際にkintone 上で出力アプリとして設定したアプリを開いてみます。ちゃんとBASE Customers, Orders 情報がkintone アプリのレコードとして同期されていました。
まとめ
いかがでしたか?このようにCData Connect Server とkrewData を使って、簡単にBASE のCustomers, Orders データをkintone にノーコードで同期することができました。
是非、CData Connect Server で他の100を超えるデータソースでもkintone への同期をお試しください。