ODBC を介してNode.js からAdobe Target のデータをクエリ
Node.js はブラウザ上以外でJavaScript コードを使用できるJavaScript ランタイム環境です。CData ODBC Driver for AdobeTarget を使用すれば、Node.js アプリとスクリプトから、リアルタイムAdobe Target のデータにアクセスできます。この記事ではnode-odbc のインストールと、リアルタイムAdobe Target のデータへのアクセスが可能な、シンプルなNode.js アプリケーションを作成するために必要なツールについて説明します。
ビルトインの最適化されたデータ処理により、CData ODBC Driver は比類のないパフォーマンスで、Node.js のリアルタイムAdobe Target のデータとやりとりできます。Node.js からAdobe Target に複雑なSQL クエリを発行すると、ドライバーはフィルタや集計などのサポートされているSQL 操作をAdobe Target に直接プッシュし、組み込まれたSQL エンジンを利用してサポートされていない操作(主にSQL 関数とJOIN 操作)をクライアント側で処理します。
CData ODBC ドライバとは?
CData ODBC ドライバは、以下のような特徴を持ったリアルタイムデータ連携ソリューションです。
- Adobe Target をはじめとする、CRM、MA、会計ツールなど多様なカテゴリの270種類以上のSaaS / オンプレミスデータソースに対応
- 多様なアプリケーション、ツールにAdobe Target のデータを連携
- ノーコードでの手軽な接続設定
- 標準 SQL での柔軟なデータ読み込み・書き込み
CData ODBC ドライバでは、1.データソースとしてAdobe Target の接続を設定、2.Node.js 側でODBC Driver との接続を設定、という2つのステップだけでデータソースに接続できます。以下に具体的な設定手順を説明します。
CData ODBC ドライバのインストールとAdobe Target への接続設定
まずは、本記事右側のサイドバーからAdobeTarget ODBC Driver の無償トライアルをダウンロード・インストールしてください。30日間無償で、製品版の全機能が使用できます。
必要な接続プロパティの値が未入力の場合には、データソース名(DSN)で入力します。組み込みのMicrosoft ODBC Data Source Administrator を使用し、DSN を構成できます。ドライバーのインストールの最後にアドミニストレーターが開きます。Microsoft ODBC データソースアドミニストレーターを使ってDSN を作成および設定する方法は、ヘルプドキュメントの「はじめに」を参照してください。
Adobe Target に接続するには、以下に記載されているOAuth 接続プロパティとともにTenant プロパティを指定する必要があります。他の接続プロパティは処理動作に影響を与える可能性がありますが、接続には影響しません。
以下のステップでTenant 名を確認できます。
- Adobe Experience にログインします。URL は「https://experience.adobe.com/#/@mycompanyname/preferences/general-section」です。
- 「/#/@」の後の値を抽出します。この例では「mycompanyname」です。
- Tenant 接続プロパティをその値に設定します。
ユーザーアカウント(OAuth)
すべてのユーザーアカウントフローでAuthScheme をOAuthClient に設定する必要があります。
注意:OAuth を介したAdobe 認証では、2週間ごとにトークンを更新する必要があります。
すべてのアプリケーション
CData では、OAuth 認証を簡素化する組み込みOAuth アプリケーションを提供しています。または、カスタムOAuth アプリケーションを作成することもできます。詳細については、ヘルプドキュメントの「カスタムOAuthアプリの作成」をご確認ください。OAuth アクセストークンの取得
接続するには以下のプロパティを設定します:
- InitiateOAuth:GETANDREFRESH に設定して、OAuth 交換を自動的に実行し、必要に応じてOAuthAccessToken を更新します。
- OAuthClientId:アプリを登録した際に割り当てられたクライアントID に設定します。
- OAuthClientSecret:アプリを登録した際に割り当てられたクライアントシークレットに設定します。
- CallbackURL:アプリを登録した際に定義されたリダイレクトURI に設定します。例:https://localhost:3333
これらの設定により、プロバイダーはAdobe Target からアクセストークンを取得し、それを使用してデータを要求します。OAuth値はOAuthSettingsLocation で指定された場所に保存され、接続間で確実に保持されます。
node-odbc を構築する
CData ODBC Driver を介してAdobe Target に接続するには、必要なツールをインストールした後に、node-odbc を手動で構築する必要があります。
必要なツールをインストールする
以下のコマンドでは、node-odbc の構築に必要なツールをインストールします。(ツールをグローバルにインストールする-g パラメータに注意してください。)
npm i -g windows-build-tools npm i -g node-gyp
node-odbc を構築する
必要なツールをインストールしたらNode.js アプリケーションのディレクトリを作成し、Node.js スクリプトで使用するバイナリを構築するodbc をインストールします。
mkdir nodeodbc cd nodeodbc npm i -g node
Node.js からAdobe Target をクエリ
ODBC Driver がインストールされ、DSN が構成されて、node-odbc が構築されたら、Node.js アプリケーションからリアルタイムAdobe Target のデータをクエリすることができるようになります。以下のサンプルコードは、特定のDSN に接続してActivities テーブルをクエリします。
myscript.js
const odbc = require('odbc');
async function queryAdobeTarget() {
const connection = await odbc.connect(`DSN=CData AdobeTarget Source`);
const data = await connection.query('SELECT Id, Name FROM Activities');
console.log(data);
}
queryAdobeTarget();
アプリケーションを作成したら、node を使用してスクリプトを実行します。
node myscript.js
おわりに
CData ODBC Driver for AdobeTarget の30日の無償評価版 をダウンロードすればNode.js でリアルタイムAdobe Target のデータを使用できます。ご不明な点があれば、サポートチームにお問い合わせください。