JRuby からAdobe Target にデータ連携
JRuby はRuby プログラミング言語の高性能で安定した、完全にスレッド化されたJava 実装です。CData JDBC Driver for AdobeTarget を使用すると、JRuby からリアルタイムAdobe Target へのデータ連携を簡単に実装できます。ここでは、Adobe Target に接続し、クエリを実行して結果を表示する簡単なJRuby アプリを作成する方法を説明します。
Adobe Target のデータにJDBC で接続
アプリを作成する前に、JDBC Driver のJAR ファイルのインストール場所をメモします。 (通常はC:\Program Files\CDatat\CData JDBC Driver for AdobeTarget\libにあります。)
JRuby は、JDBC をネイティブにサポートしているため、簡単にAdobe Target に接続してSQL クエリを実行できます。java.sql.DriverManager クラスのgetConnection 関数を使用してJDBC 接続を初期化します。
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 で指定された場所に保存され、接続間で確実に保持されます。
ビルトイン接続文字列デザイナー
JDBC URL の構成については、Adobe Target JDBC Driver に組み込まれている接続文字列デザイナーを使用してください。JAR ファイルのダブルクリック、またはコマンドラインからJAR ファイルを実行します。
java -jar cdata.jdbc.adobetarget.jar
接続プロパティを入力し、接続文字列をクリップボードにコピーします。
以下はAdobe Target の一般的なJDBC 接続文字列です。
jdbc:adobetarget:Tenant=mycompanyname;
Adobe Target のデータへの接続性を持つJRuby アプリを作成
新しいRuby ファイル(例: AdobeTargetSelect.rb) を作成してテキストエディタで開き、次のコードをファイルにコピーします。
require 'java'
require 'rubygems'
require 'C:/Program Files/CData/CData JDBC Driver for AdobeTarget 2018/lib/cdata.jdbc.adobetarget.jar'
url = "jdbc:adobetarget:Tenant=mycompanyname;"
conn = java.sql.DriverManager.getConnection(url)
stmt = conn.createStatement
rs = stmt.executeQuery("SELECT Id, Name FROM Activities")
while (rs.next) do
puts rs.getString(1) + ' ' + rs.getString(2)
end
ファイルが完成したら、コマンドラインからファイルを実行するだけでJRuby でAdobe Target を表示できるようになります。
jruby -S AdobeTargetSelect.rb
SQL-92 クエリをAdobe Target に書き込むと、Adobe Target を独自のJRuby アプリケーションに素早く簡単に組み込むことができます。今すぐ無料トライアルをダウンロードしましょう。