本記事では CData サポート担当からこんなことを聞かれたらどこを確認すべきか?という観点で、よく頂くお問合せ内容をご紹介します。
記事はこちら →Data Sync は、いろいろなシナリオのデータレプリケーション(同期)を行うことができるスタンドアロンのアプリケーションです。例えば、sandbox および本番インスタンスのデータをデータベースに同期することができます。Box data をHeroku 上のPostgreSQL に同期することで、Salesforce の通常オブジェクトに加えて、Salesforce 外部オブジェクト(Salesforce Connect)としてBox データへのアクセスが可能になります。
本レプリケーション例では、次が必要です:
CData Sync を使って、Box data をHeroku 上のPostgreSQL データベースにレプリケーションできます。本記事では、Heroku 上の既存のPostgreSQL を使用します。PostgreSQL データベースをレプリケーション先に指定するには、[接続]タブから進みます。
PostgreSQL への接続には、Port(デフォルトでは5432)、およびデータベース接続プロパティを設定し、サーバーに認証するuser およびpassword を設定します。データベースプロパティが指定されていない場合には、ユーザーのデフォルトデータベースに接続します。
データソース側にBox を設定します。[接続]タブをクリックします。
Box は、認証にOAuth スタンダードを使用します。Box への認証には、登録アプリのOAuthClientId、OAuthClientSecret、CallbackURL を入力します。詳細はヘルプドキュメントの「はじめに」を参照してください。
尚、本製品はBox のファイルの一覧表示やユーザー管理情報の取得用です。Box に保管されているExcel、CSV、JSON などのファイル内のデータを読み込みたい場合には、Excel Driver、CSV Driver、JSON Driver をご利用ください。
Data Sync はレプリケーションをコントロールするSQL クエリを簡単なGUI 操作で設定できます。
レプリケーションジョブ設定には、[ジョブ]タブに進み、[ジョブを追加]ボタンをクリックします。
次にデータソースおよび同期先をそれぞれドロップダウンから選択します。
テーブル全体をレプリケーションするには、[テーブル]セクションで[テーブルを追加]をクリックします。表示されたテーブルリストからレプリケーションするテーブルをチェックします。
レプリケーションはテーブル全体ではなく、カスタマイズが可能です。[変更]機能を使えば、レプリケーションするカラムの指定、同期先でのカラム名を変更しての保存、ソースデータの各種加工が可能です。レプリケーションのカスタマイズには、ジョブの[変更]ボタンをクリックしてカスタマイズウィンドウを開いて操作を行います:
インターフェースを使って変更を行うと、レプリケーションのSQL クエリは以下のようなシンプルなものから:
REPLICATE [Files]
次のような複雑なものになります:
REPLICATE [Files] SELECT [Name], [Size] FROM [Files] WHERE [Id] = 123
[スケジュール]セクションでは、レプリケーションジョブの自動起動スケジュール設定が可能です。反復同期間隔は、15分おきから毎月1回までの間で設定が可能です。
レプリケーションジョブを設定したら、[変更を保存]ボタンを押して保存します。複数のBox data のジョブを作成して、Salesforce の外部オブジェクトとして利用可能です。
Box data がHeroku 上のPostgreSQL データベースとしてレプリケーションされたので、Heroku のOData インターフェースを設定し、Salesforce Connect から外部オブジェクトとしてデータ連携できるようにします。
まずは、Heroku 上のPostgreSQL データベースに複製されたBox data への接続のために、データベースに対しHeroku External Object を設定します。
詳しくは、こちらのHeroku documentation を参照してください。
Heroku のOData サービスの設定が終わったら、Salesforce Connect を使って、複製されたBox data のデータに外部データソースとして連携します。
Salesforce の外部データソース登録が終わったら、次の方法でBox 外部データソースに変更を反映させます。Box テーブルの定義とBox 外部オブジェクトの定義を同期します。
これで、レプリケーションされたBox エンティティに対して、Salesforce の通常オブジェクトと同じように外部オブジェクトとしてアクセスが可能になりました。
是非、CData Sync の30日の無償評価版 をダウンロードして、Salesforce との連携をお試しください!