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

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



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

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

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

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

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

CData ODBC ドライバとは?

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

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

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

CData ODBC ドライバのインストールとAdobe Target への接続設定

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

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

Adobe Target に接続するには、以下に記載されているOAuth 接続プロパティとともにTenant プロパティを指定する必要があります。他の接続プロパティは処理動作に影響を与える可能性がありますが、接続には影響しません。

以下のステップでTenant 名を確認できます。

  1. Adobe Experience にログインします。URL は「https://experience.adobe.com/#/@mycompanyname/preferences/general-section」です。
  2. 「/#/@」の後の値を抽出します。この例では「mycompanyname」です。
  3. Tenant 接続プロパティをその値に設定します。

ユーザーアカウント(OAuth)

すべてのユーザーアカウントフローでAuthSchemeOAuthClient に設定する必要があります。

注意:OAuth を介したAdobe 認証では、2週間ごとにトークンを更新する必要があります。

すべてのアプリケーション

CData では、OAuth 認証を簡素化する組み込みOAuth アプリケーションを提供しています。または、カスタムOAuth アプリケーションを作成することもできます。詳細については、ヘルプドキュメントの「カスタムOAuthアプリの作成」をご確認ください。

OAuth アクセストークンの取得

接続するには以下のプロパティを設定します:

  • InitiateOAuthGETANDREFRESH に設定して、OAuth 交換を自動的に実行し、必要に応じてOAuthAccessToken を更新します。
  • OAuthClientId:アプリを登録した際に割り当てられたクライアントID に設定します。
  • OAuthClientSecret:アプリを登録した際に割り当てられたクライアントシークレットに設定します。
  • CallbackURL:アプリを登録した際に定義されたリダイレクトURI に設定します。例:https://localhost:3333

これらの設定により、プロバイダーはAdobe Target からアクセストークンを取得し、それを使用してデータを要求します。OAuth値はOAuthSettingsLocation で指定された場所に保存され、接続間で確実に保持されます。

通常の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.Adobe Target.CData」というコネクションができています。 展開するとAdobe Target のデータがテーブルよびビューとしてモデル化されて表示されます。 これらのオブジェクトは通常のSQL で操作することができます。

キャッシュクエリの実行

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

CACHE SELECT * FROM "Target Table"

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

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

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

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

 ダウンロード