Salesforce Data Cloud のデータをSQL Server に同期(キャッシュ)する方法

古川えりか
古川えりか
コンテンツスペシャリスト
キャッシュ機能を使って、Salesforce Data Cloud の任意のエンドポイントをSQL Server にキャッシュ同期



Salesforce Data Cloud のデータをDB にコピーするニーズは多いです。例えば、データのバックアップのため、 データをDB にデータレイク的に格納して他のアプリケーションやBI、ETL ツールから連携利用するなどです。

ただし、JSON やXML 形式であったりスキーマレスなデータなどを、DB に格納できるようにスキーマ定義をしながらデータを同期することは大きな手間です。 しかも、SaaS やNoSQL などのデータはスキーマレスであったり、スキーマが頻繁に変更されます。

Driver 技術では、Salesforce Data Cloud のデータをテーブルにモデル化し、スキーマを付与してDB への格納を容易にします。 本記事では、CACHE コマンドだけで、SQL Server にSalesforce Data Cloud のデータの同期を取る方法を説明します。

同期先となるデータベースの準備

この例では、SQL Server を使います。難しい手順は不要で、SQL Server に任意の名前の新しい同期DB を作成しておくだけです。

CData ODBC ドライバとは?

CData ODBC ドライバは、以下のような特徴を持った製品です。

  1. Salesforce Data Cloud をはじめとする、CRM、MA、会計ツールなど多様なカテゴリの270種類以上のSaaS / オンプレデータソースに対応
  2. 多様なアプリケーション、ツールにSalesforce Data Cloud のデータを連携
  3. ノーコードでの手軽な接続設定
  4. 標準SQL での柔軟なデータ読み込み・書き込み

CData ODBC ドライバでは、1.データソースとしてSalesforce Data Cloud の接続を設定、2.SQL Server 側でODBC Driver との接続を設定、という2つのステップだけでデータソースに接続できます。以下に具体的な設定手順を説明します。

CData ODBC ドライバのインストールとSalesforce Data Cloud への接続設定

まずは、本記事右側のサイドバーからSalesforceDataCloud ODBC Driver の無償トライアルをダウンロード・インストールしてください。30日間無償で、製品版の全機能が使用できます。

ODBC 接続プロパティの指定がまだの場合は、DSN (データソース名)で接続設定を行います。Microsoft ODBC データソースアドミニストレーターを使ってODBC DSN を作成および設定できます。ODBC ドライバーのインストール完了時にODBC DSN 設定画面が立ち上がります。 Microsoft ODBC データソースアドミニストレーターを開いて設定を行うことも可能です。 必要なプロパティを設定する方法は、ヘルプドキュメントの「はじめに」をご参照ください。

それでは、Salesforce Data Cloud への認証方法を設定していきましょう。Salesforce Data Cloud では、OAuth 標準による認証をサポートしています。

OAuth 認証

AuthSchemeOAuth に設定してください。

デスクトップアプリケーション

CData 製品では、デスクトップでの認証を簡略化する埋め込みOAuth アプリケーションを提供しています。

また、Salesforce Data Cloud コンソールで設定および登録するカスタムOAuth アプリケーションを介してデスクトップから認証することも可能です。詳しくは、ヘルプドキュメントカスタムOAuth アプリの作成をご確認ください。

接続する前に、以下のプロパティを設定してください。

  • InitiateOAuthGETANDREFRESHInitiateOAuth を使用すれば、繰り返しOAuth の交換を行ったり、手動でOAuthAccessToken を設定する必要がなくなります
  • OAuthClientId(カスタムアプリケーションのみ):カスタムOAuth アプリケーションの登録時に割り当てられたクライアントID
  • OAuthClientSecret(カスタムアプリケーションのみ):カスタムOAuth アプリケーションの登録時に割り当てられたクライアントシークレット

接続すると、CData 製品がデフォルトブラウザでSalesforce Data Cloud のOAuth エンドポイントを開きます。ログインして、アプリケーションにアクセス許可を与えてください。

以下のようにドライバーがOAuth プロセスを完了します。

  • コールバックURL からアクセストークンを取得します
  • 古いトークンの期限が切れた際は、新しいアクセストークンを取得します
  • OAuthSettingsLocation にOAuth 値を保存し、接続間で永続化します

Web アプリケーションやヘッドレスマシンを含むその他のOAuth 認証方法については、ヘルプドキュメントをご確認ください。

通常のDSN 設定に加え、キャッシュ関連項目の設定が必要です:
Cache Connection:以下をセミコロン区切りで入力
Cache Provider:SQL Server ではSystem.Data.SqlClient

Server=server name;Database=database name;User ID=your id;Password=password;

Visual Studio からキャッシュを実行

Visual Studio のサーバーエクスプローラーから「データ接続」を右クリックして「接続の追加」を選択します。
データソース選択画面で「Microsoft ODBC データソース」を選択します。

サーバーエクスプローラーには、「ODBC.Salesforce Data Cloud.CData」というコネクションができています。 展開するとSalesforce Data Cloud のデータがテーブルよびビューとしてモデル化されて表示されます。 これらのオブジェクトは通常のSQL で操作することができます。

キャッシュクエリの実行

以下のキャッシュコマンドを作成し、実行します。 実行時にクエリテキストエラーが出ても気にせず続行してください。

CACHE SELECT * FROM "Target Table"

キャッシュ結果をSQL Server で確認

データベースの下にkintone の選択したアプリが同期されています。キレイにDB 向けにスキーマも付いてます。普通にSQL でアプリケーション内で使ってください。

はじめる準備はできましたか?

Salesforce Data Cloud ODBC Driver の無料トライアルをダウンロードしてお試しください:

 ダウンロード

詳細:

Salesforce Data Cloud Icon Salesforce Data Cloud ODBC Driver お問い合わせ

Salesforce Data Cloud ドライバーは、ODBC 接続をサポートする任意のアプリケーションからリアルタイムなSalesforce Data Cloud アカウントデータに直接接続できるパワフルなツールです。標準のODBC ドライバーインタフェースを使用して、データベースのようにSalesforce Data Cloud データにアクセスし、読み、書き、更新を実行できます。