はじめに
本資料はSaaS やデータベースにあるデータをノーコードで別のデータベースに複製(レプリケーション)できるCData Syncのハンズオン資料です。CData Syncは30日ご試用いただける無償評価版のライセンスがございます。是非、実機にてCData Syncが持つシンプル・かつ・高機能な機能を実機にてお試しください。
前提
CData Syncは、マルチプラットフォーム(Windows / MacOS / Linux / AWS AMI版)で動作します。CData Sync製品のシステム要件はこちらからご参照ください。
本手順では以下のソフトウェアを利用しています。
本ハンズオンで実現するシナリオ
本手順では、Salesforceの取引先や取引先責任者、商談のデータをMySQLデータベースにノーコードでレプリケーションします。
準備
評価版ライセンスの入手
こちらのCData Sync無償評価版の申し込みフォームにアクセスして必要情報を入力してフォームを送信ください。ご登録いただいたメールアドレスに以下のメールが届きます。本メール内にインストーラの入手先、および、評価版ライセンスの記載があります。
CData Sync製品のインストール、初期設定
届いたメール内のリンク「インストーラをダウロード」をクリックしてインストーラをダウンロードします。CDataSync.exeがダウンロードされたら実行してインストーラを起動してウィザードに従いインストールしてください。
「インストールが正常に完了しました。」が表示されればインストールが完了です。
「Start CData Sync」のチェックをONにして「完了」します。コマンドプロンプトの画面が立ち上がり、しばらくするとブラウザが起動して製品マニュアルと以下のアカウント作成画面が表示されます。
※CData Syncの起動・停止はWindowsのサービスから行え、デフォルトでは自動起動の設定となっています。
CData Syncの管理コンソールにアクセス可能なユーザを作成します。ユーザー名とパスワードを入力して「アカウントの作成」ボタンをクリックします。
※パスワードポリシー:6文字以上、アルファベットの大文字小文字混在、1つ以上の数字
作成したユーザでサインインしてください。
「設定」>「ライセンス」画面が開きます。ライセンスが必要な旨のメッセージが表示されるので「+ライセンスを追加」ボタンをクリックします。
ライセンスの種類「プロダクトキー」を選択、名前、メールアドレス、プロダクトキー(メールに記載の「トライアル用ライセンスキー」)をセットして、利用規約を確認&チェックして「保存」します。
プロダクトキーがセットされればアクティベーション成功です。
ハンズオン手順
CData Syncでは、3ステップ・ノーコードでデータレプリケーション処理を構築することができます。
- データソースとの接続
- 同期先データベースとの接続
- 複製ジョブの設定&実行
Salesforceとの接続
まずはじめにデータソース(同期元)となるSalesforceへの接続設定を行います。左メニュー「接続」を選択し「+接続を追加」ボタンをクリックします。
コネクタを選択画面が表示されるので「データソース」タブ内のSalesforceを選択して右側の「→(接続を設定)」ボタンをクリックします。
※Salesforceでデフォルトでインストール済みですが、インストールされていないコネクタを追加する場合は「インストール済み」のボタンをOFFにして検索ください。
「設定」タブが開くので以下の情報をセットします。
- 名前:任意(例:Salesforce)
- Auth Scheme : Basic
- User : Salesforceへのログインユーザ
- Password : Salesforceへのログインユーザのパスワード
- Security Token : Salesforceのセキュリティトークン
Salesforceへの接続方法はOAuthなど複数の方法をサポートしています。詳しくはこちらの製品ヘルプをご参照ください。
「作成およびテスト」ボタンをクリックしてSalesforceへの接続確認を行います。「接続は正常に保存できました。変更が保存されました。」ダイアログが出てConnections一覧画面にSalesforceへの接続が追加されていれば成功です。
MySQLとの接続
次に同期先データベースへの接続を作成します。Connections画面で右上の「+接続を追加」ボタンをクリックします。
「同期先」タブで「MySQL」を選択して右側の「→(接続を設定)」ボタンをクリックします。
「設定」タブが開くので以下の情報をセットします。
- 名前:任意(例:MySQL)
- Server : MySQLのサーバー名、もしくは、IPアドレス(本例では localhost)
- User : MySQLデータベースへのログインユーザ
- Password : MySQLデータベースへのログインユーザのパスワード
- Database : MySQLのデータベース名(本例では handson)
- User SSL : 本ハンズオンではローカルマシン内のMySQLに接続するためFalse
「作成およびテスト」ボタンをクリックしてMySQLへの接続確認を行います。「接続は正常に保存できました。変更が保存されました。」ダイアログが出てConnections一覧画面にMySQLへの接続が追加されていれば成功です。
SalesforceのデータをMySQLに複製するジョブの作成
作成した接続情報を利用してSalesforceのデータをMySQLにレプリケーションするジョブを作成します。
左メニュー「ジョブ」を選択し「+ジョブを追加」ボタンをクリックします。
新しいジョブ作成のダイアログが開くので以下の設定を行い「ジョブを追加」します。
- ジョブ名:任意(本例では Salesforce2MySQL)
- データソース:Salesforce
- 同期先:MySQL
- レプリケーションの種類:標準(個別設定)
作成したジョブの設定画面が表示されます。
「タスク」タブ内の「+タスクを追加」ボタンをクリックします。
Salesforceのオブジェクトがテーブルリストとして表示されるので検索ボックスを利用して以下3つのテーブルを追加します。
- Account(取引先)
- Contact(取引先責任者)
タスクにテーブルが追加されたことを確認します。
ジョブの実行
それでは、作成したジョブを手動で実行してみます。テーブルを全て選択してチェックをオンにして「▶︎実行」ボタンをクリックします。同期処理が開始されてステータス列に同期したレコード数が表示されます。
MySQL WorkBenchなどでMySQL内のデータを参照してみましょう。作成したデータベース(本例ではhandson)内にAccount/Contactという2つのテーブルが作成されています。テーブル内のデータを見てみましょう。Salesforce内のデータが複製して格納されていれば成功です。
作成したジョブは定期サイクルで自動実行することも可能です。「概要」タブのスケジュールの設定を開きます。
ダイアログが開くので実行頻度を設定します。本例では毎時ゼロ分に実行する設定を行います。
スケジュールの設定がされたことを確認します。
ジョブの差分更新
再度「タスク」タブを開き、テーブルを選択してチェックをオンにして「▶︎実行」ボタンをクリックしてみましょう。ステータス列をみると「Records affected : 0」と0件で同期されました。
これは2回目以上のジョブは前回との変更差分のみを抽出して同期されるからです。次のジョブ実行のタイミングまでSalesforce側のデータが変更された場合は、変更レコードのみをMySQLに反映します。これによりジョブの実行時間を短くし、かつ、Salesforceなどデータソース側のAPI呼び出し数を削減することが可能となります。
なお、再度、全件取得しなおしたい場合は、ジョブ設定の「高度な設定」タブ内の「テーブルを削除」もしくは「テーブルデータの削除」を編集モードに切り替えてチェックをオンにしてジョブを実行することで一度MySQL側のテーブル、もしくはテーブルデータを削除してから全データを取得するジョブを実行することができます。
テーブルの設定
デフォルト設定ではデータソース側のテーブル名で全フィールドの同期となりますが、列(フィールド)を絞り込んで同期することも可能です。「カラムマッピング」タブを開き、「マッピングを編集」ボタンをクリックします。
同期が不要な項目のチェックをオフにしてマッピングを保存します。
これによりレプリケーションに必要なフィールドを絞り込んだレプリケーションが可能です。
まとめ
本資料ではSalesforceのデータをノーコードでMySQLに複製する手順をご紹介しました。
CData Syncは30日ご試用いただける無償評価版のライセンスがございます。是非、実機にてCData Syncが持つシンプル・かつ・高機能な機能を実機にてお試しください。
CData Sync無償評価
関連コンテンツ