CData Sync リバースETL Insert モードでログをkintone に連携

CData Sync リバースETL 活用術 Insert モードでログをkintone に連携

目次

・はじめに

今回は、CData Sync V25 から新しく追加された kintone への Reverse ETL 機能で、Insert モードを使った活用例をご紹介します。

Insert モードは、データソースのテーブルにあるレコードから新しく追加されたレコードのみを追記していくモードです。

・CData Sync リバースETL とは

リバースETL は、データベースやDWH のデータを Salesforce やkintone といった業務アプリケーションに書き戻す機能です。
この機能を活用することで、CData Sync で業務アプリケーションに対して双方向での連携を実現することができます。

お役立ち情報
kintone × 基幹連携

基幹系システムのFit to Standard とkintone によるSide-by-Side 開発事例・連携ポイントを徹底解説

  • SAP など基幹システムの標準機能で対応できない業務をどうする?
  • kintone での業務改善を検討しているが、基幹システムとの連携はどうする?
  • kintone と基幹システムとの連携に最適なツール・コネクタにはどんなものがある?
ホワイトペーパーを無料で読む

・サンプルの紹介

リバースETL とkintone を組み合わせた例として、SQL Server のテーブルに記録された入退出記録を、kintone アプリでユーザーごとに見れるようにしてみます。
このようなログ系のデータは追記のみで更新されることはないため、今回のInsert モードが最適です。

1) SQL Server のテーブル

SQL Serverのテーブルは下記の通りです。
SQL Server テーブル

カラム 説明
ID レコードのPRIMARY KEY です。
UserID ユーザーID です。
後ほど、kintone アプリでフィルター条件として使用します。
InOutFlag 入った場合と出た場合のどちらであるかを示します。
ここでは、入った場合は1, 出た場合は2 とします。
RecordTime 記録時間です。

SourceTableData

2) kintone アプリ

今回は、2つのアプリを使用します。
アプリ1:入退出マスタ
CData Sync を使って、このアプリにSQL Server のテーブルにあるレコードを同期します。
入退出マスタ

 
アプリ2:社員情報マスタ
社員ごとの情報を表示するアプリです。
社員ごとにレコードを作成し、アプリ1 から社員ごとのデータを表示できるようにします。
社員情報マスタ

 社員情報マスタ関連レコード一覧の設定

2.CData Sync からkintone アプリに接続するためのAPI トークンの取得

レコードの追加のみを行う場合、API トークンを使用してレコードの追加のみを許可することができます。
ここでは、kintone アプリのフィールド情報などを取得するために必要な「アプリ管理」とSQL Server からレコードを追加するために必要な「レコード追加」のみを許可したAPIトークンを作成しています。
 
このようにAPI トークンを使用すると、最小限の権限のみを許可することができます。
 kintone アプリAPI トークン生成

3.CData Sync からkintone アプリへ接続するコネクターの作成

CData Sync kintone コネクター設定

4.CData Sync からSQL Server へ接続するコネクターの作成

 CData Sync SQL Server コネクター設定

5.SQL Server からkintone アプリにテーブルのデータを同期するジョブの作成

ジョブの作成で、データソースに「SQL Server」、同期先に「kintone」のコネクターを選択します。
CData Sync Reverse ETL ジョブ追加
kintone へのリバースETL ではInsert, Upsert, Update の3つのモードがサポートされており、今回は追加のみなので、「Insert」を選択し、「次へ」をクリックします。
 
SQL Server のテーブルと、kintone アプリを選択し、「次へ」をクリックします。
CData Sync Reverse ETL ジョブ テーブルを設定

 SQL Server のテーブルのカラムと、kintone アプリのフィールドを紐づけます。
CData Sync Reverse ETL ジョブ マッピングを設定

カラム名とフィールド名が同じであれば、「オートマッピング」ボタンをクリックすることで自動的にマッピングを行うことができます。

また、デフォルトでは、kintone アプリのフィールド名がカラム名となりますが、kintone コネクターのUseCodeForFieldName プロパティをTrue にすることで、フィールドコードをカラム名にすることもできるので、フィールドコードにSQL Server のカラム名を入れておけば、kintone アプリの見た目を変えずにカラム名を揃えることもできます。
 CData JDBC Driver for Kintone - UseCodeForFieldName

6.ジョブの実行

ジョブを実行します。
CData Sync Reverse ETL ジョブを実行

 
kintone アプリを確認すると、SQL Server のレコードが反映されていることが確認できます。
kintone アプリで実行結果を確認

 
 
このkintone アプリを参照している社員情報マスタに、ユーザーIDごとのレコードを作成し、レコードの詳細を開くと、入退出マスタにあるレコードから、そのユーザーIDのデータを確認することができます。
kintone 社員情報マスタ一覧

kintone アプリ社員情報マスタ明細

まとめ

CData Sync のリバースETL では、データソースについても拡充しており、SQL Server だけでなく、Oracle や、PostgreSQL といったデータベースの他に、Google BigQuery や、Snowflake なども利用することができます。
 
CData Sync は、無償トライアルで、すべての機能を制限なく30日間ご利用いただけます。
ぜひ、CData Sync のリバースETL で、kintone を活用してみてください

関連コンテンツ