こんにちは!リードエンジニアの杉本です。
この記事では、Google Data Catalog のSchemas データをkintone に同期する方法を紹介します。グレープシティ社のkrewData というkintone プラグインとCData Connect Server を使うと、Google Data Catalog をはじめとする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 で設定済みのインスタンスを提供しています。
Google Data Catalog データの仮想データベースを作成する
CData Connect Server は、シンプルなポイントアンドクリックインターフェースを使用してデータソースに接続し、データを取得します。まずは、右側のサイドバーのリンクからConnect Server をインストールしてください。
- Connect Server にログインし、「CONNECTIONS」をクリックします。
- 一覧から「Google Data Catalog」を選択します。
-
Google Data Catalog に接続するために必要な認証プロパティを入力します。
Google Data Catalog 接続プロパティの取得・設定方法
認証プロパティを追加する前に、次の接続プロパティを設定してください。
- OrganizationId:接続するGoogle Cloud Platform の組織リソースに関連付けられたID。これはGCP コンソールに移動して確認してください。
「プロジェクト」ドロップダウンメニューを開き、リストから組織へのリンクをクリックします。このページから組織ID を取得できます。
- ProjectId:接続するGCP のプロジェクトリソースに関連付けられたID。GCP
コンソールのダッシュボードに移動し、「プロジェクトを選択」のメニューからお好みのプロジェクトを選択して確認してください。プロジェクトID は、「プロジェクト情報」項目に表示されます。
Google Data Catalog への認証
CData 製品は、認証にユーザーアカウント、サービスアカウント、およびGCP インスタンスアカウントの使用をサポートします。
OAuth の設定方法については、ヘルプドキュメントの「OAuth」セクションを参照してください。
- 「 Test Connection」をクリックします。
- 「Permission」->「 Add」とクリックし、適切な権限を持つ新しいユーザー(または既存のユーザー) を追加します。
仮想データベースが作成されたら、krewData を含むお好みのクライアントからGoogle Data Catalog に接続できるようになります。
コネクションが構成されたら、kintone 上のkrewData プラグインからGoogle Data Catalog に接続できるようになります。
krewData でGoogle Data Catalog データをkintone に同期する
ここからは、kintone のプラグインであるkrewData での設定になります。
krewData の設定
krewData のプラグインインストールとkintone での設定については、こちらのリンクを参照してください。
https://krew.grapecity.com/products/krewdata.htm
kintone にkrewData プラグインを入れ、必要な権限設定を行ってください。
krewData の入力としてGoogle Data Catalog を設定
ここからは、実際にGoogle Data Catalog をkintone にロードするフローを作成していきます。krewData 自体は、複数データソースの統合、データのフィルタリング、集計処理など多様な機能を有するETL ですが、今回はシンプルにGoogle Data Catalog のSchemas データを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 を使うかを選択するので、先ほど作成したGoogle Data Catalog のConnection をドロップダウンから選択します。
- Google Data Catalog のどのオブジェクト(テーブル)を使うかを選択します。CData Connect Server がGoogle Data Catalog のオブジェクト(含むカスタムオブジェクト)をフラットなテーブル構造にモデル化しています。今回はSchemas を選択します。OK を押してテーブル選択を保存します。
- ここでGoogle Data Catalog からkrewData に取得するデータの絞り込み条件をかけることができます。特にデータ量が多い場合には、パフォーマンスを上げるためにフィルタ条件をかけることをおすすめします。krewData のGUI でフィルタリング条件をかけるカラムを指定し、条件を設定することが可能です。
- 最後にkrewData で使用するフィールドを選択します。
- テーブル設定、フィルタリング設定、フィールド設定まで終わったら「プレビュー」タブをクリックして、実際に取得されるデータを見ることができます。
kintone へのアウトプットを設定
kintone への出力を行う設定を行います。
- 「出力アプリ」を左ペインからドラッグしてフローキャンバスにドロップします。先ほどのCData Connect Server入力アプリと出力アプリを線でつなぎます。
- 「アプリを選択」ボタンをクリックして、入力アプリと同様に新しいアプリを作成します。
- 出力アプリの設定として、2回目以降の同期の際のデータの更新の方法をしていします。今回はUPSERT 設定で更新または追加にチェックをいれています。
- 更新キーをしていできるので、ID カラムにチェックを入れて更新キーにします。
- これで出力アプリの設定が完了したので、左上の「アプリを更新」をクリックしてフローを保存します。
Google Data Catalog Schemas のkintone への同期フローを実行
では、実際にフローを実行していきます。
まずはユーザー情報を指定する必要があります。左上の「設定ファイル」タブをクリックします。kintone のログイン名とパスワードを入力します。セキュアアクセスを使っている場合にはセキュアアクセス設定が必要です。
右上の「▶実行」ボタンをクリックして、フローを実行しましょう!!!
「成功」の表示がでました。
実際にkintone 上で出力アプリとして設定したアプリを開いてみます。ちゃんとGoogle Data Catalog Schemas 情報がkintone アプリのレコードとして同期されていました。
まとめ
いかがでしたか?このようにCData Connect Server とkrewData を使って、簡単にGoogle Data Catalog のSchemas データをkintone にノーコードで同期することができました。
是非、CData Connect Server で他の100を超えるデータソースでもkintone への同期をお試しください。