CData Software Blog

クラウド連携のCData Software の技術ブログです。

Sansan の名刺データを SQLServer へレプリケート

こんにちは。エンジニアの宮本です。

弊社でも利用中のクラウド名刺管理サービス「Sansan」がCDataSync でも利用できるようになりました。 CData Sync を使うことで、Sansan に登録した名刺データをオンプレ、クラウド問わずデータベースへノーコードで書き出すことができるようになったので、名刺情報を分析するために使用したり、自社のサービスで使用しているデータベースに連携させて利用したりと、さまざまな使い方があるかと思います。

そこで、今回は SQLServer へ sansanのデータをレプリケートする内容をご紹介します。
MySQLPostgreSQL、BigQueryへの場合は、接続設定の部分を読み替えてください)

今回の構成

Sansan To SQLServer の構成はこちらになります。 SansanとSQLServer の間にCDataSyncが入り、Sansanから返ってくるJSONデータをSQLServerに登録するといった流れです。 f:id:sennanvolar44:20191107180651p:plain

用意するものは以下の通り。

CData Sync のインストールの接続設定

まずはCData Sync を使うため、インストールを行います。インストール方法は以下の記事をご参考ください。
www.cdatablog.jp

Sansan コネクタのインストール

CData Sync ではデフォルトでSansan のコネクタは含まていません。ユーザ側で Sansan コネクタをダウンロードする必要があります。ダウンロード方法は赤枠の「Add More」をクリックしていきます。
f:id:sennanvolar44:20191107162014p:plain

検索窓に「sansan」と入力します。 ※以下のキャプチャのようにSansan のアイコンが青枠に表示されない場合は、CDataサポートへご連絡ください。直接コネクタをお渡しいたします。
f:id:sennanvolar44:20191107162340p:plain

詳しいコネクタのインストール方法は以下の記事をご参考ください。 www.cdatablog.jp

Sansan コネクタの接続設定

赤枠のアイコンをクリックします。(今後アイコンがSansan用のイメージに変更される予定です) f:id:sennanvolar44:20191107164429p:plain

Sansan の接続設定は以下の通りです。基本的にはAPI Key をセットするだけで接続することができます。また、Rangeを空白、もしくは"all" と入力すると、自分が所属している会社全体の名刺情報を取得することになり、”me” と入力することで自分が登録した名刺情報のみを取得することになります。この条件は、これからご紹介する各クエリに対してもwhere Range = 'me' と加えることも可能です。
f:id:sennanvolar44:20191107181313p:plain

SQLServer コネクタの接続設定

CDataSync上部にある接続タブをクリック後、中段にある同期先タブをクリックします。SQLServerのコネクタは同期元先それぞれにありますので、必ず同期先にあるSQLServerのアイコンをクリックしてから接続設定を行ってください。
f:id:sennanvolar44:20191107182101p:plain

以下の内容で設定します。設定後は「接続のテスト」→「変更を保存」で接続設定が完了です。

  • Server:サーバー名
  • Database:データベース名
  • User:SQLServer へログインする際のUser
  • Password:上記ユーザのパスワード

f:id:sennanvolar44:20191109231739p:plain

ジョブの作成

赤枠の「ジョブ」タブ→「ジョブを追加」で新規ジョブを作成することができます。
f:id:sennanvolar44:20191109232639p:plain

ジョブ名は任意ですが、ソースはSansan、同期先にSQLServer を選択します。
f:id:sennanvolar44:20191109234800p:plain

現在は以下の3テーブルのみが取得できます。

  • Bizcards(名刺情報)
  • BizcardsTags(名刺とタグの情報)
  • Tags(タグ情報)

では名刺情報を取得するクエリを作成していきます。
単純なクエリの場合、選択式で設定が可能です。 「テーブルを追加」ボタンを押下後、名刺の情報が格納されているBizcardsテーブルにチェックを入れ、「選択したテーブルを追加」ボタンをクリックします。

f:id:sennanvolar44:20191110000128p:plain

そうしますと、以下のように自動的にクエリが作成されます。
f:id:sennanvolar44:20191110000246p:plain ※直接クエリを入力したい場合は、「カスタムクエリを追加」ボタンをクリックか、表示されているクエリを直接クリックするかで修正することができます。

ジョブの実行

作成したクエリにチェックを入れ、「実行」ボタンをクリックします。 f:id:sennanvolar44:20191110000737p:plain

ジョブ実行後、ジョブ終了時間とステータスが表示されます。
f:id:sennanvolar44:20191110002128p:plain

ではSQLServer にBizcards テーブルが作成されているか確認してみましょう。

SSMSでデータベースの中身を参照すると、2つテーブルが作成されていました。 f:id:sennanvolar44:20191110002413p:plain

上のdbo.Bizcards は今回実行したクエリ結果が反映されたテーブルであり、dbo.CDATA_SYNC_STATUS は各クエリに付随する情報を保持しているテーブルとなります。例えば、最後の連携したレコードの更新日付であったり、何件連携したのかなどを当テーブルにて保持しています。ちなみに、連携レコードの最終更新日付を持っていることで、次にクエリを実行した場合に、この最終更新日付以降のデータのみを連携するように制御することができます。※全データソース対象ではございません。

dbo.Bizcards の中身は以下のような内容で格納されます。今回は私の情報しか表示させておりませんが、当然ですが名刺交換した方の名前やメールアドレス等も連携されてきます。
f:id:sennanvolar44:20191111194319p:plain

最後に

今回は Sansan から SQLServer へのレプリケーションについてご紹介しましたが、冒頭でもお伝えした通りに他のデータベースへのレプリケートも可能です。CData Sync は他のCData Driver と同様に30日間の評価版がございますので、是非さまざまな接続先でお試しいただければと思います。 【評価版URL】 https://www.cdata.com/jp/sync/download/