こんにちは。エンジニアの宮本です。
弊社でも利用中のクラウド名刺管理サービス「Sansan」がCDataSync でも利用できるようになりました。 CData Sync を使うことで、Sansan に登録した名刺データをオンプレ、クラウド問わずデータベースへノーコードで書き出すことができるようになったので、名刺情報を分析するために使用したり、自社のサービスで使用しているデータベースに連携させて利用したりと、さまざまな使い方があるかと思います。
そこで、今回は SQLServer へ sansanのデータをレプリケートする内容をご紹介します。
(MySQLやPostgreSQL、BigQueryへの場合は、接続設定の部分を読み替えてください)
- 今回の構成
- CData Sync のインストールの接続設定
- Sansan コネクタのインストール
- Sansan コネクタの接続設定
- SQLServer コネクタの接続設定
- ジョブの作成
- ジョブの実行
- 最後に
今回の構成
Sansan To SQLServer の構成はこちらになります。 SansanとSQLServer の間にCDataSyncが入り、Sansanから返ってくるJSONデータをSQLServerに登録するといった流れです。
用意するものは以下の通り。
- CDataSync : https://www.cdata.com/jp/sync/
- Sansan のアカウント (SansanのAPI Keyが必要なため、事前に発行しておく)
- SQLServer
CData Sync のインストールの接続設定
まずはCData Sync を使うため、インストールを行います。インストール方法は以下の記事をご参考ください。
www.cdatablog.jp
Sansan コネクタのインストール
CData Sync ではデフォルトでSansan のコネクタは含まていません。ユーザ側で Sansan コネクタをダウンロードする必要があります。ダウンロード方法は赤枠の「Add More」をクリックしていきます。
検索窓に「sansan」と入力します。
※以下のキャプチャのようにSansan のアイコンが青枠に表示されない場合は、CDataサポートへご連絡ください。直接コネクタをお渡しいたします。
詳しいコネクタのインストール方法は以下の記事をご参考ください。 www.cdatablog.jp
Sansan コネクタの接続設定
赤枠のアイコンをクリックします。(今後アイコンがSansan用のイメージに変更される予定です)
Sansan の接続設定は以下の通りです。基本的にはAPI Key をセットするだけで接続することができます。また、Rangeを空白、もしくは"all" と入力すると、自分が所属している会社全体の名刺情報を取得することになり、”me” と入力することで自分が登録した名刺情報のみを取得することになります。この条件は、これからご紹介する各クエリに対してもwhere Range = 'me' と加えることも可能です。
SQLServer コネクタの接続設定
CDataSync上部にある接続タブをクリック後、中段にある同期先タブをクリックします。SQLServerのコネクタは同期元先それぞれにありますので、必ず同期先にあるSQLServerのアイコンをクリックしてから接続設定を行ってください。
以下の内容で設定します。設定後は「接続のテスト」→「変更を保存」で接続設定が完了です。
- Server:サーバー名
- Database:データベース名
- User:SQLServer へログインする際のUser
- Password:上記ユーザのパスワード
ジョブの作成
赤枠の「ジョブ」タブ→「ジョブを追加」で新規ジョブを作成することができます。
ジョブ名は任意ですが、ソースはSansan、同期先にSQLServer を選択します。
現在は以下の3テーブルのみが取得できます。
- Bizcards(名刺情報)
- BizcardsTags(名刺とタグの情報)
- Tags(タグ情報)
では名刺情報を取得するクエリを作成していきます。
単純なクエリの場合、選択式で設定が可能です。
「テーブルを追加」ボタンを押下後、名刺の情報が格納されているBizcardsテーブルにチェックを入れ、「選択したテーブルを追加」ボタンをクリックします。
そうしますと、以下のように自動的にクエリが作成されます。
※直接クエリを入力したい場合は、「カスタムクエリを追加」ボタンをクリックか、表示されているクエリを直接クリックするかで修正することができます。
ジョブの実行
作成したクエリにチェックを入れ、「実行」ボタンをクリックします。
ジョブ実行後、ジョブ終了時間とステータスが表示されます。
ではSQLServer にBizcards テーブルが作成されているか確認してみましょう。
SSMSでデータベースの中身を参照すると、2つテーブルが作成されていました。
上のdbo.Bizcards は今回実行したクエリ結果が反映されたテーブルであり、dbo.CDATA_SYNC_STATUS は各クエリに付随する情報を保持しているテーブルとなります。例えば、最後の連携したレコードの更新日付であったり、何件連携したのかなどを当テーブルにて保持しています。ちなみに、連携レコードの最終更新日付を持っていることで、次にクエリを実行した場合に、この最終更新日付以降のデータのみを連携するように制御することができます。※全データソース対象ではございません。
dbo.Bizcards の中身は以下のような内容で格納されます。今回は私の情報しか表示させておりませんが、当然ですが名刺交換した方の名前やメールアドレス等も連携されてきます。
最後に
今回は Sansan から SQLServer へのレプリケーションについてご紹介しましたが、冒頭でもお伝えした通りに他のデータベースへのレプリケートも可能です。CData Sync は他のCData Driver と同様に30日間の評価版がございますので、是非さまざまな接続先でお試しいただければと思います。 【評価版URL】 https://www.cdata.com/jp/sync/download/