CData Software Blog

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

Dnamics 365 セールス(Dynamics CRM)データをSQL Server やGoogle BigQuery にノーコードでレプリケーション:CData Sync

CData Sync とは

CData Sync は、各種クラウドサービス(SaaS)データをRDBクラウドデータストアにレプリケーションできるデータパイプラインツールです。各SaaSAPI コーディングが不要で400種類を超えるデータソースに対応して、主要なRDBクラウドストアへのETL/ETL ジョブを作成、実行できます。

この記事では、Microsoft Dynamics 365 Sales (Dynamics CRM)のデータをMicrosoft SQL ServerGoogle BigQuery にレプリケーションする手順を説明します。

f:id:cdatasoftware:20210906185310p:plain

CData Sync のインストールとログイン

www.cdata.com

こちらのリンクからCData Sync をダウンロードし、インストールを行います。CData Sync には、Windows 版、マルチプラットフォームJava)版、およびAWS のAMI 版があります。

この記事ではWindows マシンにWindows 版をインストールします。

ダウンロードした.exe ファイルを実行して、デフォルトでインストールをすすめます。途中でコンソールへのログインパスワードを設定するところがあるので任意のパスワードを設定します。

f:id:cdatasoftware:20210906191156p:plain

CData Sync はウェブサーバーを内蔵しているので、インストールが終わるとSync サーバーが起動されます。ブラウザ管理コンソールにログインします。

  • User: Admin

  • Password: 先ほど設定したパスワード

f:id:cdatasoftware:20210906191102p:plain

これでCData Sync が使えるようになりました。

Dynamics 365 からSQL Serverレプリケーション

早速、Dynamics 365 データをSQL Server に複製してみましょう。

Dynamics 365 アカウントをCData Sync のデータソースに設定

まずは、Sync の「接続」タブを開きます。次に「データソース」タブを開きます。データソースは、元々複製するデータが入っているサービスのことです。

Dynamics 365 Sales はデフォルトで入っているコネクタではないので、並んでいるロゴの一番下の「+ Add More」をクリックします。

f:id:cdatasoftware:20210906191035p:plain

追加コネクタのダウンロード画面が開くので、検索バーで「Dynamics 365」を探して、クリックします。

f:id:cdatasoftware:20210906190953p:plain

Dynamics 365 Sales Connector のインストール画面が開くので、「ダウンロード&インストール」をクリックして、インストールを行います。

f:id:cdatasoftware:20210906190929p:plain

無事にインストールされました。Sync は一度再起動されますので、再度ログインします。

f:id:cdatasoftware:20210906190853p:plain

これで「接続」タブ→「データソース」に「Dynamics 365 Sales」のアイコンが出てきました。このアイコンをクリックします。

f:id:cdatasoftware:20210906190827p:plain

接続設定画面に移るので、Dynamics 365 に接続するためのプロパティを入力して、「次の接続D365 Sales」ボタンをクリックして認証します。

  • Organization URL: Dynamics 365 のURL

  • Azure Tenant: 必要なら入力

f:id:cdatasoftware:20210906190757p:plain

ブラウザが開き、Microsoft の認証画面が開くので、Dynamics 365 の管理者のユーザー・パスワードでサインインしてデータへのアクセスを許可します。

f:id:cdatasoftware:20210906190720p:plain

CData Sync のブラウザ管理コンソールに戻り、接続が「Success!」であることを確認して、「変更を保存」します。これでDynamics 365 への接続が確立できました。

f:id:cdatasoftware:20210906190634p:plain

SQL Server をCData Sync の同期先に設定

次にCData Sync の同期先としてMicrosoft SQL Server を接続します。今回はローカルホストのSQL Server ですが、ネットワーク内、もしくはクラウド上のSQL Server にもSSH で接続することが可能です。

では、先ほどと同様に「接続」タブからはじめます。次の「同期先」のタブを開きます。

SQL Server のアイコンを選択します。

f:id:cdatasoftware:20210906190536p:plain

接続設定画面でSQL Server に接続します。

  • Authentication: 認証方式、SQL Server 認証か、Windows 認証を選択

  • Server: 接続するSQL Server のロケーション

  • Database: 同期先のデータベース名(テーブルを事前に作る必要はありません)

  • User: ユーザー

  • Password: パスワード

「接続のテスト」をクリックするとSQL Server への接続を確認できます。成功したら「変更を保存」します。

f:id:cdatasoftware:20210906190435p:plain

Dynamics 365 からSQL Server にデータを同期するジョブを作成

次に「ジョブ」画面に移って、Dynamics 365 からSQL Server へのレプリケーションジョブを作成します。「ジョブを追加」をクリックします。

f:id:cdatasoftware:20210906190413p:plain

新しいジョブの作成を行います。

  • ジョブ名: 任意の名前

  • ソース: Dynamics 365 の接続名を選択

  • 同期先:SQL Server の接続名を選択

「作成」をクリック。

f:id:cdatasoftware:20210906190347p:plain

ジョブ設定を続けて行います。「テーブルを追加」でレプリケーションするDynamics 365 内のオブジェクトを選択します。

f:id:cdatasoftware:20210906190320p:plain

Dynamics 365 内のオブジェクトがテーブル形式でリストされます。カスタムオブジェクトなども動的にスキーマ取得してくれます。

レプリケーションで使うテーブルにチェックを入れてテーブルを追加します。

f:id:cdatasoftware:20210906190254p:plain

テーブルが追加できました。

f:id:cdatasoftware:20210906190221p:plain

Dynamics 365 からSQL Server への同期ジョブを実行

一番シンプルな使い方としては、追加したテーブルをクリックして、手動で気「▶実行」ボタンをクリックします。問題がなければ、レプリケーションジョブが実行され、Dynamics 365 からテーブルスキーマとデータが取得され、SQL Server 側にテーブルが作成され、データが挿入されます。

8件のDynamics 365 のレコードすべてがSQL Server に複製されました。

f:id:cdatasoftware:20210906190145p:plain

実際にSQL Server を見ると新しいテーブルが作成され、データが同期されています。

f:id:cdatasoftware:20210906190117p:plain

Dynamics 365 からGoogle BigQuery にレプリケーション

次の例では、人気のクラウドDWH のGoogle BigQuery にDynamics 365 データをコピーしていきます。

データソース側の設定は先ほどの例と同じなので省略します。

Google BigQuery のプロジェクトを同期先に設定

Google BigQuery をデータの同期先として設定します。

「接続」タブから「同期先」をクリックして、デフォルトで存在する「Google BigQuery」のアイコンをクリックします。

f:id:cdatasoftware:20210906185021p:plain

接続設定画面でGoogle BigQuery への接続情報を入力します。CData Sync はすでにOAuth アプリとして登録されており、面倒なGoogle 側でのOAuth アプリ作成を行わなくても、Dataset id とProject id を設定するだけて、ブラウザ認証が可能です。

  • Dataset Id: BigQuery のDataset Id

  • Project Id: BigQuery のProject Id

f:id:cdatasoftware:20210906184749p:plain

Google アカウントでサインインして、接続を許可します。

これで「変更を保存」して、Google BigQuery への接続を確立します。

「接続Google BigQuery」をクリックするとブラウザが開いて、認証ができます。

f:id:cdatasoftware:20210906184930p:plain

Dynamics365 からBigQuery へのレプリケーションジョブを設定

では、Dynamics 365 からBigQuery へのレプリケーションジョブを作りましょう。データソースはD365 Sales、同期先はGoogleBigQuery の接続です。

f:id:cdatasoftware:20210906184853p:plain

同期するDynamics 365 のテーブルを指定します。

f:id:cdatasoftware:20210906184658p:plain

Dynamics 365 からGoogle BigQuery にSync を実行

作成したジョブを実行します。

f:id:cdatasoftware:20210906194720p:plain

BigQuery にスキーマおよびデータが登録されています。

f:id:cdatasoftware:20210906184623p:plain

Sync の機能の紹介

ここからはSync の機能をいくつか紹介していきます。

ジョブのテーブルをクリックするとカスタマイズが可能になります。

f:id:cdatasoftware:20210906190045p:plain

定期実行のスケジューリング

上記では手動でレプリケーションジョブを実行しましたが、もちろんSync ではスケジュール実行が可能です。スケジュールタブで、スケジューラをクリックして有効にし、実行間隔を設定します。

f:id:cdatasoftware:20210906185427p:plain

差分更新

Dynamics 365 データソースでは、差分更新がデフォルトでサポートされています。

一度目にSQL Server へのレプリケーションを実行した後に、Dynamics 365 のリードに1レコードを追加します。

f:id:cdatasoftware:20210906185618p:plain

レコード追加後にSync のジョブを再度実行します。最初の実行では8件のレコードがすべて同期されましたが、次は元々のレコードはレプリケーションされずに、新規で追加されたレコード1件だけのレプリケーションとして実行されました。差分更新で効率的にデータを複製することができます。

f:id:cdatasoftware:20210906185537p:plain

SQL Server 側では、8件に新しいレコードが1件追加されています。

f:id:cdatasoftware:20210906185510p:plain

カスタムクエリ

CData Sync では、SQL 形式で、各種カスタムクエリを設定することができます。カスタムクエリを記述するをクリックし、92-SQL でフィルタリングやJOIN までが可能になっています。

f:id:cdatasoftware:20210906185649p:plain

既存テーブルへのマッピング

CData Sync では、基本的には新規でCREATE TABLE してくれますが、既存のテーブルに対してデータをレプリケーションすることも可能です。「同期先テーブル情報」から「既存のテーブルにマップ」を選択するだけです。

f:id:cdatasoftware:20210906185922p:plain

カラムマッピング

全カラムを同期しない場合や、既存テーブルへのマッピングなどの場合にはカスタムでカラムマッピングをビジュアルで行うことが可能です。さらにSQL関数を使って、Dynamics365 のデータから計算したカラムを作成してDB に書き込むことも可能です。

f:id:cdatasoftware:20210906185751p:plain

プレビュー

もちろん実際にDB にデータをレプリケートする前に同期するカスタマイズしたデータをプレビューすることが可能です。

まとめ

このようにノーコードでDynamics 365 データを分析しやすいテーブル形式のデータとしてDB やクラウドデータストアにレプリケーションできました。

CData Sync では、Dynamics 365 以外に400種類以上のSaaS やアプリケーションをサポートしています。 f:id:cdatasoftware:20210906223727p:plain

是非、CData Sync をお試し下さい。

f:id:cdatasoftware:20210906185716p:plain