CData Sync CLI で Adobe Analytics のデータ を複数のデータベースにレプリケーションする方法

Jerod Johnson
Jerod Johnson
Senior Technology Evangelist
1つの設定ファイルでAdobe Analytics のデータを複数の異なるデータベースにレプリケーションする方法をご紹介します。

常時稼働のアプリケーションには、自動フェイルオーバー機能とリアルタイムのデータアクセスが欠かせません。CData Sync for Adobe Analytics を使えば、ミラーリングデータベース、常時稼働のクラウドデータベース、レポーティングサーバーなど、さまざまなデータベースにAdobe Analytics のデータをリアルタイム連携できます。Windows やJava が動作するあらゆるマシンから、リモートのAdobe Analytics のデータとの自動同期が可能です。

Sync のコマンドラインインターフェース(CLI)を使えば、レプリケーションのほぼすべての設定を簡単に制御できます。設定を変更することなく、Adobe Analytics のデータ を1つまたは複数のデータベースにレプリケーションすることが可能です。

Adobe Analytics のデータ に接続する

接続文字列やメール通知などの設定は、XML 設定ファイルに保存できます。

以下は、SQLite へレプリケーションする場合の設定例です。

Windows

<?xml version="1.0" encoding="UTF-8" ?>
<CDataSync><DatabaseType>SQLite</DatabaseType>
  <DatabaseProvider>System.Data.SQLite</DatabaseProvider>
  <ConnectionString>GlobalCompanyId=myGlobalCompanyId; RSID=myRSID; OAuthClientId=myOauthClientId; OauthClientSecret=myOAuthClientSecret; CallbackURL=myCallbackURL;</ConnectionString>
  <ReplicateAll>False</ReplicateAll>
  <NotificationUserName></NotificationUserName>
  <DatabaseConnectionString>Data Source=C:\my.db</DatabaseConnectionString>
  <TaskSchedulerStartTime>09:51</TaskSchedulerStartTime>
  <TaskSchedulerInterval>Never</TaskSchedulerInterval>
</CDataSync>

Java

<?xml version="1.0" encoding="UTF-8" ?>
<CDataSync><DatabaseType>SQLite</DatabaseType><DatabaseProvider>org.sqlite.JDBC</DatabaseProvider>
<ConnectionString>GlobalCompanyId=myGlobalCompanyId; RSID=myRSID; OAuthClientId=myOauthClientId; OauthClientSecret=myOAuthClientSecret; CallbackURL=myCallbackURL;</ConnectionString>
<ReplicateAll>False</ReplicateAll>
<NotificationUserName></NotificationUserName>
<DatabaseConnectionString>Data Source=C:\my.db</DatabaseConnectionString>
</CDataSync>

Adobe Analytics への接続

それでは、Adobe Analytics に接続していきましょう。接続するには、GlobalCompanyId およびRSID を識別する必要があります。デフォルトでは、ドライバーが会社とレポートスイートの識別を自動で試みますが、これらの値を明示的に指定することも可能です。詳しい手順については、 href="/kb/help/" target="_blank">ヘルプドキュメントの「Adobe Analytics への接続」セクションをご確認ください。

Adobe Analytics への認証

続いて、認証方法を設定しましょう。Adobe Analytics はOAuth 認証標準を利用しており、OAuth またはサービスアカウントで認証できます。

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

ユーザーアカウントでの認証では、すべてのフローでAuthSchemeOAuth に設定する必要があります。詳しい認証手順については、 href="/kb/help/" target="_blank">ヘルプドキュメントの「Adobe Analytics への認証」セクションをご参照ください。

サービスアカウント

サービスアカウントではサイレント認証が利用でき、ブラウザでのユーザー認証が不要です。このフローを使用するには、アプリケーションを作成する必要があります。アプリケーションの作成および認可については、ドキュメントの「カスタムOAuth アプリの作成」をご確認ください。これにより、サービスアカウントにアクセス権があるAdobe Analytics データに接続できるようになります。

サービスアカウントを使用したServer-to-Server OAuth で認証するには、AuthSchemeOAuthClient に設定します。接続には以下のプロパティを設定してください。

  • InitiateOAuthGETANDREFRESH に設定
  • OAuthClientId:アプリケーション設定のクライアントId に設定
  • OAuthClientSecret:アプリケーション設定のクライアントシークレットに設定

接続すると、CData 製品がサービスアカウントでのOAuth フローを以下の手順で完了します。

  1. クライアントクレデンシャルOAuth フローで指定されたOAuthClientId およびOAuthClientSecret を使用して、アクセストークンを取得します
  2. OAuthSettingsLocation にOAuth 値を保存し、接続間で永続化されるようにします
  3. トークンが期限切れになった際に、新しいアクセストークンを要求します

レプリケーションクエリの設定

Sync では、標準 SQL を使ってレプリケーションを制御できます。REPLICATE 文は、データベース内のテーブルをキャッシュして維持するための高レベルコマンドです。 Adobe Analytics API がサポートする任意の SELECT クエリを定義できます。 以下の文は、Adobe Analytics のデータ のテーブルをキャッシュし、差分更新を行います:

REPLICATE AdsReport;

レプリケーションクエリを含むファイルを指定することもできます。これにより、同じレプリケーションクエリを使って複数のデータベースへレプリケーションできます。

Sync を実行する

接続文字列とレプリケーションクエリを設定したら、以下のコマンドラインオプションで Sync を実行できます:

Windows

AdobeAnalyticsSync.exe -g MySQLiteConfig.xml -f AdobeAnalyticsSync.sql

Java

java -Xbootclasspath/p:c:\sqlitejdbc.jar -jar AdobeAnalyticsSync.jar -g MySQLiteConfig.xml -f AdobeAnalyticsSync.sql

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

詳細はこちら、または無料トライアルにお申し込みください:

CData Sync お問い合わせ