各製品の資料を入手。
詳細はこちら →MySQL のFederated Table としてAdobe Analytics のデータを連携利用する
SQL Gateway とODBC Driver を使ってAdobe Analytics のMySQL Federated Table を構築する。
最終更新日:2022-07-18
この記事で実現できるAdobe Analytics 連携のシナリオ
こんにちは!ドライバー周りのヘルプドキュメントを担当している古川です。
SQL Gateway を使って、MySQL リモーティングサービスを作成し、Adobe Analytics のMySQL Federated Table を構築できます。CData ODBC Driver for AdobeAnalytics のMySQL インターフェースのdeamon になります。サービス起動後、MySQL のFEDERATED ストレージエンジンを使ってサーバーおよびテーブルを作成します。Adobe Analytics のデータ をMySQL テーブルのように使いましょう。
Adobe Analytics のデータへの接続
If you have not already done so, provide values for the required connection properties in the data source name (DSN). You can use the built-in Microsoft ODBC Data Source Administrator to configure the DSN. This is also the last step of the driver installation. See the "Getting Started" chapter in the help documentation for a guide to using the Microsoft ODBC Data Source Administrator to create and configure a DSN.
Adobe Analytics への接続
Adobe Analytics に接続するには、GlobalCompanyId およびRSID を識別する必要があります。デフォルトで、ドライバーは会社とレポートスイートの識別を自動で試みますが、これらの値を明示的に指定することもできます。方法はヘルプドキュメントの「Adobe Analytics への接続」セクションを参照してください。
Adobe Analytics への認証
Adobe Analytics はOAuth 認証標準を利用しています。 OAuth またはサービスアカウントで認証できます。
ユーザーアカウント(OAuth)
すべてのユーザーアカウントフローでAuthScheme をOAuth に設定する必要があります。OAuth 経由のAdobe 認証では、2週間ごとにリフレッシュトークンを更新する必要があります。詳しい認証方法については、ヘルプドキュメントの「Adobe Analytics への認証」セクションを参照してください。
サービスアカウント
サービスアカウントにはサイレント認証があり、ブラウザでのユーザー認証は必要ありません。このフローでは、アプリケーションを作成する必要があります。アプリケーションの作成および認可については、ドキュメントの「カスタムOAuth アプリの作成」を参照してください。これでサービスアカウントにアクセス権があるAdobe Analytics データに接続できます。
サービスアカウントを使用したServer-to-Server OAuthで認証するには、AuthScheme をOAuthClient に設定します。接続するには次のプロパティを設定します。
- InitiateOAuth:GETANDREFRESH に設定。
- OAuthClientId:アプリケーション設定のクライアントId に設定。
- OAuthClientSecret:アプリケーション設定のクライアントシークレットに設定。
接続すると、本製品 はサービスアカウントでのOAuth フローを完了します。
- クライアントクレデンシャルOAuth フローで指定されたOAuthClientId およびOAuthClientSecret を使用して、アクセストークンを取得します。
- OAuthSettingsLocation にOAuth 値を保存し、接続間で永続化されるようにします。
- トークンが期限切れになった際に、新しいアクセストークンを要求します。
SQL Gateway の設定
See the SQL Gateway Overview to set up connectivity to Adobe Analytics のデータ as a virtual MySQL database. You will configure a MySQL remoting service that listens for MySQL requests from clients. The service can be configured in the SQL Gateway UI.
Adobe Analytics データ のFEDERATED サーバーおよびテーブルを作成
After you have configured and started the service, create a FEDERATED server to simplify the process of creating FEDERATED tables:
FEDERATED サーバーの作成
The following statement will create a FEDERATED server based on the ODBC Driver for AdobeAnalytics. Note that the username and password of the FEDERATED server must match a user account you defined on the Users tab of the SQL Gateway.
CREATE SERVER fedAdobeAnalytics FOREIGN DATA WRAPPER mysql OPTIONS (USER 'sql_gateway_user', PASSWORD 'sql_gateway_passwd', HOST 'sql_gateway_host', PORT ####, DATABASE 'CData AdobeAnalytics Sys');
FEDERATED テーブルの作成
To create a FEDERATED table using our newly created server, use the CONNECTION keyword and pass the name of the FEDERATED server and the remote table (AdsReport). Refer to the following template for the statement to create a FEDERATED table:
CREATE TABLE fed_adsreport ( ..., page TYPE(LEN), pageviews TYPE(LEN), ..., ) ENGINE=FEDERATED DEFAULT CHARSET=latin1 CONNECTION='fedAdobeAnalytics/adsreport';
NOTE: The table schema for the FEDERATED table must match the remote table schema exactly. You can always connect directly to the MySQL remoting service using any MySQL client and run a SHOW CREATE TABLE query to get the table schema.
クエリの実行
You can now execute queries to the Adobe Analytics FEDERATED tables from any tool that can connect to MySQL, which is particularly useful if you need to JOIN data from a local table with data from Adobe Analytics. Refer to the following example:
SELECT fed_adsreport.page, local_table.custom_field FROM local_table JOIN fed_adsreport ON local_table.foreign_page = fed_adsreport.page;