CData Arc ハンズオンテキスト(kintone 版)(シナリオ1-1)

by 色川穂高 | 2024年01月19日

はじめてのCData Arc - シナリオ1-1
 
この記事では「CData Arc ハンズオンセミナー ~はじめてのCData Arc(kintone 版)~」の「シナリオ1-1」について進めていきます。
 

ハンズオン環境へサインイン

 
CData Arc のハンズオン環境には、こちらからサインインします。
 
http://localhost:8001/
  

ユーザー名 admin
パスワード ハンズオン環境のクレデンシャル情報を参照してください

 
 

ハンズオンのシナリオ

 
業務システムのデータストアなどで利用されているデータベースからSaaS へのデータ連携は、よくあるシナリオです。
 
このシナリオではMySQL から取得(Select)したデータをkintone に更新(Upsert)します。
 
シナリオ1-1 のイメージ
 
 

MySQL の構成

 
このシナリオでは、ハンズオン実行環境に構成されているMySQL のhandson スキーマの「Customer」テーブルからデータを取得します。
 
MySQL のCustomer テーブル
 
 

kintone の構成

 
このシナリオでは、ハンズオン用に用意されているkintone の「顧客リスト」アプリへデータを更新します。
 
kintone の顧客リスト
  
 

連携フローの概要

 
このシナリオでは、このような連携フローを作成していきます。
 
シナリオ1-1 のイメージ
 
コネクタ 設定内容
1 MySQL MySQL からデータを取得(Select)
2 XMLMap 1 と3 をマッピング
3 Kintone kintone へデータを更新(Upsert)
 
 

ワークスペースの作成

 
CData Arc では、フローキャンバス上で目的の異なる連携フローを分離できるように、任意の「ワークスペース」を作成することができます。ワークスペースを作成するにはフローキャンバス右上の「ワークスペースを作成」をクリックします。
 
ワークスペースを作成
 
ワークスペース名には任意の名称を設定することができます。何のためのワークスペースか、分かりやすい名前を設定します。ここでは「MySQL_to_kintone」と設定します。
 
ワークスペースを作成
 
このシナリオでは、この「MySQL_to_kintone」ワークスペースにフローを作成していきます。
 
 

MySQL コネクタ

 
最初に「MySQL のCustomer テーブルからSelect(データを取得)」するMySQL コネクタを設定します。この連携フローのはじまり(起点)となるコネクタです。
 
MySQL コネクタ
 
 

配置

 
MySQL コネクタは「データベース」カテゴリに含まれています。「データベース」カテゴリから「MySQL」を選択してフローキャンバスへ配置します。
 
MySQL コネクタ
 
コネクタID には任意の名称を設定することができます。何を行うコネクタか、分かりやすい名前を設定します。ここでは「MySQL_Customer_Select」と設定します。
 
MySQL コネクタを追加
 
 

接続の作成

 
MySQL への接続情報を作成します。「接続」の「作成」をクリックします。ここで作成した「接続」は、他のMySQL コネクタでも利用することができます。
 
MySQL コネクタの設定
 
「接続の追加」ダイアログで、ハンズオンで利用するMySQL への接続を作成していきます。名前には任意の名称を設定することができます。識別しやすい名前を設定します。ここでは「MySQL_Handson」と設定します。
 
接続の追加
 
接続に必要な以下の情報を設定します。
 
Server ハンズオン環境のクレデンシャル情報に従って設定します
Port ハンズオン環境のクレデンシャル情報に従って設定します
Database ハンズオン環境のクレデンシャル情報に従って設定します
User ハンズオン環境のクレデンシャル情報に従って設定します
Password ハンズオン環境のクレデンシャル情報に従って設定します
 
設定したら「接続テスト」で確認します。「Success!」と表示されれば成功です。
 
接続テスト
 
「接続の追加」をクリックして「接続を保存」します。
 
 

アクション

 
MySQL へのアクション(実行する操作)を選択します。このコネクタではデータを取得するので「Select」を選択します。
 
アクション設定
 
 

テーブル

 
MySQL からデータをSelect するテーブルを選択します。「+ 追加」をクリックして「テーブルの追加」ダイアログを開きます。
 
テーブルの追加
 
「Customer」テーブルを選択して「+追加」をクリックします。「テーブル」に「Customer」が追加され、「カラム」に「Customer」テーブルの列構成が反映されます。「フィルタ」「並べ替え」「クエリ」で取得設定を細かく指定することもできます。対象テーブルの構成次第では「高度な設定」により差分取得を利用することもできます。
 
テーブルの追加
 
Select 設定
 
Select 設定
 
「XML 出力をプレビュー」することで、コネクタからの出力データをプレビューすることができます。プレビューにより取得されるデータを簡単に確認することができます。
 
Select 設定
 
XML 出力をプレビュー
 
後続のXML Map コネクタの設定をより分かりやすく実施できるように「サンプルデータを保存」しておきます。「サンプルデータを保存」しておくと、XML Map のマッピングエディタ上で、データソース側にデフォルトのサンプルデータが表示された状態になりますので、マッピングを施す際にもより判断しやすくなります。
XML 出力をプレビュー
XML 出力をプレビュー

「変更を保存」をクリックして、コネクタの設定を保存します。これでMySQL コネクタの設定は完了です。
 
変更を保存
 

取得(受信)のテスト

 
実際にデータを取得できることを確認してみます。「アウトプット」タブの「受信」をクリックします。
 
アウトプットタブ
 
MySQL コネクタでは、デフォルトでは取得したデータがレコード単位にメッセージファイルとして生成されます。
 
受信
 
メッセージファイル名をクリックすると、データを確認することができます。
 
受信データのプレビュー
また各レコード左端の「+」で展開すると、CData Arc が自動的に付与するメッセージファイルのメタデータ(メッセージヘッダ)やログの内容を確認することができます。メッセージファイルやログはダウンロードすることもできます。
受信トランザクションの確認
受信トランザクションの確認
受信ログのプレビュー
 
このようにCData Arc ではコネクタ単位に設定や動作を確認しながらフロー作成を進めることができます。
 
テストで取得(受信)したメッセージやログは、選択して「削除」できます。
 
受信トランザクションの削除
 
受信トランザクションの削除
 
 

Kintone コネクタ

 
次に「kintone の顧客リストへUpsert(データを更新)」するKintone コネクタを設定します。この連携フローのおわり(終点)となるコネクタです。
 
Kintone コネクタ
 
 

配置

 
Kintone コネクタは「その他」カテゴリに含まれています。「その他」カテゴリから「Kintone」を選択してフローキャンバスへ配置します。
 
Kintone コネクタ
 
コネクタID には任意の名称を設定することができます。何を行うコネクタか、分かりやすい名前を設定します。ここでは「kintone_CustomerList_Upsert」と設定します。
 
 Kintone コネクタを追加

接続の作成

 
kintone への接続情報を作成します。「接続」の「作成」をクリックします。ここで作成した「接続」は、他のkintone コネクタでも利用することができます。
 
Kintone コネクタの設定
 
「接続の追加」ダイアログで、ハンズオンで利用するkintone への接続を作成していきます。名前には任意の名称を設定することができます。識別しやすい名前を設定します。ここでは「kintone_Handson」と設定します。
 
接続の追加
 
接続に必要な以下の情報を設定します。
 
URL ハンズオン環境のクレデンシャル情報に従って設定します
User ハンズオン環境のクレデンシャル情報に従って設定します
Password ハンズオン環境のクレデンシャル情報に従って設定します
 
設定したら「接続テスト」で確認します。「Success!」と表示されれば成功です。
 
接続テスト
 
「接続の追加」をクリックして「接続を保存」します。
 
 

アクション

 
kintone へのアクション(実行する操作)を選択します。このコネクタではデータを更新するので「Upsert」を選択します。
 
アクション設定
 
 

テーブル

 
kintone へデータを更新するテーブル(アプリ)を選択します。「+ 追加」をクリックして「テーブルの追加」ダイアログを開きます。
 
テーブルの追加
 
顧客リストテーブル(アプリ)を選択して「+ 追加」をクリックします。テーブル(アプリ)は検索ボックスで絞り込むこともできます。
 
テーブルの追加
 
「テーブル」に「顧客リスト」が追加され、「カラム」に顧客リストテーブル(アプリ)の構成が反映されます。ここでは「Upsert の有効化」や「Upsert のKey」を細かく指定することができます。
 
Upsert 設定
 
ここでは、Upsert のKey にEmail を選択します。これで同じメールアドレスを持つデータは登録ではなく、既存データの更新として扱われます。
 
Upsert 設定
 
「変更を保存」をクリックして、コネクタの設定を保存します。これでkintone コネクタの設定は完了です。
 
変更を保存
 
 

XMLMap コネクタ

 
最後に「MySQL のデータをkintone へマッピング」するXMLMap コネクタを設定します。この連携フローのおわり(終点)となるコネクタです。
  
XMLMap コネクタは、CData Arc の中でも中核的なコネクタです。CData Arc は、データの操作と変換の中間形式としてXML を使用します。多くのコネクタは、さまざまな形式のファイルをXML に、またはその逆に変換します。さらにCData Arc はXML を使用してデータベースやSaaS などバックエンドシステムの入力と出力をモデル化します。この仕組みにより、様々なフォーマットのファイルやデータベース・SaaS などのバックエンドシステムをシームレスにつなぐことができます。
 
xmlmap overview
 
 

配置

 
XMLMap コネクタは「コア」カテゴリに含まれています。「コア」カテゴリから「XML Map」を選択してフローキャンバスへ配置します。
 
XMLMap コネクタ
 
コネクタID には任意の名称を設定することができます。何を行うコネクタか、分かりやすい名前を設定します。ここでは「XMLMap_Customer_to_CustomerList」と設定します。
  
 XMLMap コネクタを追加
 

フロー設定

 
コネクタ間の流れを設定していきます。まず「MySQL コネクタからXMLMap コネクタ」にフローをつなぎます。
 
フロー設定
 
次に「XMLMap コネクタからKintone コネクタ」にフローをつなぎます。
 
フロー設定
 
これでXMLMap コネクタでは、どのコネクタからインプットされ、どのコネクタへアウトプットするかが理解されるようになります。
 
 

ソースファイル・デスティネーションファイル

 
ここまでの操作で、MySQL コネクタでアウトプットされるデータ構造と、Kintone コネクタにインプットされるデータ構造が構成されていますので、マッピングのソースファイル(変換元)とデスティネーションファイル(変換先)にそれぞれ選択して設定します。
 
ソースファイル
 
デスティネーションファイル
 
ソースファイルとデスティネーションファイルを指定すると、マッピングエディタにデータ構造が反映され、同名項目同士などデフォルトのマッピングが施されます。
 
マッピングエディタ
 
XML Map のマッピングエディタは豊富な機能を有しており、XML の値だけでなく属性(アトリビュート)も対象にすることができます。
 
ただ、このハンズオンのようにシンプルなシナリオだとXML の各項目の属性(アトリビュート)まで表示していると見通しがやや下がる面もあるかも知れません。そのようなときは「アトリビュートを表示」をOff にすることで各項目の値のみをシンプルに表示することができます。
 
アトリビュートを表示
 

マッピング

 
下記の項目を「ソース」から「宛先」にマッピングします。kintone ではデータの登録時にRecordId が自動採番されます。このシナリオでは、MySQL 側の主キーである「CustomerId」はkintone 顧客リストの「備考」に連携します。
 
ソース(MySQL 側) 宛先(kintone 側)
CustomerId 備考
Address 住所
Company 会社名
Department 部署名
Email メールアドレス
Fax FAX_数字のみ_
Name 担当者名
PostCode 郵便番号_数字のみ_
Rank 顧客ランク
Tel TEL_数字のみ_

マッピングエディタ 
 
 
もし意図しない宛先にマッピングを施してしまった場合、「マッピングを削除」から取り消すことができます。
 
マッピングを削除
 

マッピング(式エディタ)

 
XMLMap コネクタでは、フォーマッタや条件、カスタムスクリプトなどを利用した高度なマッピング機能も利用できます。
 
ここでは「PostCode」を「郵便番号_数字のみ_」にマッピングするときに「ハイフン(-)無し」に編集します。「PostCode」項目の「式」をクリックして、エクスプレッションエディタ(式エディタ)を開きます。
 
式アイコン
 
XMLMap の式エディタでは、ArcScript のフォーマッタを利用してマッピング中にデータを動的に編集・加工することができます。ここでは replace フォーマッタを利用して「-」を除去します。
 
式エディタ
 
[xpath(PostCode) | replace('-', '')]
 
「変更を保存」をクリックして、コネクタの設定を保存します。これでXMLMap コネクタの設定は完了です。
 
マッピングエディタ
 
 
式エディタで利用できるフォーマッタには、よく利用される文字列・日付・算術カテゴリの他に、ファイル操作や、XML やCSV を解析する操作で利用できるフォーマッタなどが豊富に備わっています。式エディタで利用できるArcScript のフォーマッタについては、こちら もご覧ください。
 
またXMLMap コネクタのマッピングではArcScript を利用した「カスタムスクリプト」の実行結果をマッピングの値として設定することもできます。シンプルなマッピングや式エディタでは実現が難しいビジネスロジックを含んだマッピングなどで力を発揮します。
 カスタムスクリプトボタン  
ArcScript については、こちら や、ナレッジベース などもご覧ください。
 
CData Arc では設定したマッピングの結果をすぐにテストすることができる「テストマッピング」の機能が搭載されています。フォーマッタを利用して変換や編集をともなうマッピングを施している場合、その結果をすぐにテストできる「テストマッピング」の機能はとても便利です。
「マッピングをテスト」をクリックするとマッピングテストダイアログが表示されます。「サンプルデータを保存」しておくとデータソース側にテスト対象のデータとして設定された状態になります。テスト対象となる「データソース」欄には任意のデータを上書きして指定することも、任意のテストデータファイルをアップロードして指定することもできます。
 
マッピングをテスト

「テスト」をクリックすると、マッピングを実行した結果が「宛先」欄に出力されます。このシナリオでは「郵便番号_数字のみ_」の項目がハイフンなしに編集できていることがすぐに確認できます。
 
マッピングをテスト
 

フローの実行

 
これでシナリオの連携フローが完成しました。連携フローを手動で実行するときは、起点のコネクタでデータをアウトプット(受信)します。MySQL コネクタの「アウトプット」タブで「受信」を実行します。
 
MySQL コネクタ
 
 

実行結果の確認

 
受信に成功(Success)したメッセージファイルは、オートメーションの機構により、後続のXMLMap コネクタに渡されます(インプットされます)。
 
MySQL コネクタ
 
XMLMap コネクタの「インプット」「アウトプット」でMySQL コネクタから渡されたメッセージファイルがマッピングされ、アウトプットされていることが確認できます。
 
XMLMap コネクタ
 
XMLMap コネクタ
 
最後のkintone コネクタの「インプット」タブで、XMLMap コネクタから渡されたメッセージファイルで指定した処理(Upsert)に成功していることが確認できます。
 
Kintone コネクタ
 
コネクタ実行履歴の右端に表示される「詳しくはこちら」から、ログページ上で「フローの一連の流れ」として確認することもできます。

詳しくはこちら


アクティビティの詳細


kintone 上での結果確認

kintone の「顧客リスト」アプリの内容を確認してみます。このハンズオンでは同じ顧客リストアプリへ、複数の参加者の方々がそれぞれの顧客情報を登録しているので、自分が連携を実行したデータが登録されているかを確認します。
 
kintone の顧客リスト
 
kintone の顧客リスト(レコード内容)
 
 

フローの自動実行

 
CData Arc にはスケジューリング実行するための機能が標準で搭載されています。開発・テストが完了した連携フローを自動で定期的に実行したいときに便利です。スケジュール実行はフローの起点となるコネクタで「受信オートメーション」を有効にすることで設定します。
 
オートメーション
 
このシナリオのフローを、1時間に1度、毎時0分に自動実行する場合は、MySQL コネクタの「オートメーション」タブで下記のように設定します。
 
受信 有効
受信間隔 Hourly
毎時何分 0
 
 

ここまでのまとめ

 
これで「CData Arc ハンズオンセミナー ~はじめてのCData Arc(kintone 版)~」の「シナリオ1-1」が完了しました。
 
 
シナリオ1-1
 

この記事では CData Arc™ 2023 - 23.4.8801.0 を利用しています。

関連コンテンツ

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

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