JDBI からTalkdesk データのデータアクセスオブジェクトを作成
JDBI は、Fluent スタイルとSQL オブジェクトスタイルという2つの異なるスタイルAPI を公開する、Java 用のSQL コンビニエンスライブラリです。CData JDBC Driver for Talkdesk は、Java アプリケーションとリアルタイムTalkdesk のデータ のデータ連携を実現します。これらの技術を組み合わせることによって、Talkdesk のデータ へのシンプルなコードアクセスが可能になります。ここでは、基本的なDAO(Data Access Object )とそれに付随するTalkdesk のデータ の読み書きのためのコードの作成について説明します。
Talkdesk Users Entity のDAO を作成
以下のインターフェースは、実装されるSQL ステートメントごとに単一のメソッドを作成するためのSQL オブジェクトの正しい動作を宣言します。
public interface MyUsersDAO {
//request specific data from Talkdesk (String type is used for simplicity)
@SqlQuery("SELECT Name FROM Users WHERE Active = :active")
String findNameByActive(@Bind("active") String active);
/*
* close with no args is used to close the connection
*/
void close();
}
Talkdesk への接続を開く
必要な接続プロパティを収集し、Talkdesk に接続するための適切なJDBC URL を作成します。
Talkdesk では OAuth 2.0 の Client Credentials グラントを使用します。ブラウザでの認可ステップやコールバック URL は必要ありません。
以下の接続プロパティを設定します。
- AccountName:Talkdesk アカウントの名前。
- Region:Talkdesk インスタンスがデプロイされているリージョン。指定できる値は US(デフォルト)、EU、CA、AU、UK、FedRamp です。
- OAuthClientId:カスタム OAuth アプリケーションの登録時に割り当てられた Client Id。
- OAuthClientSecret:カスタム OAuth アプリケーションに割り当てられた Client Secret。
カスタム OAuth アプリケーションの作成
- Talkdesk アカウントにログインし、ナビゲーションメニューから OAuth Clients を選択します。
- Create OAuth Client をクリックし、クライアントにわかりやすい名前を付けます。
- Grant Type を Client Credentials に設定します。
- Add scopes をクリックし、アクセスしたいデータに応じたスコープを選択します。
- Create をクリックし、Client Id と Client Secret をコピーします。
接続時、ドライバーは Talkdesk にアクセストークンを自動でリクエストしてキャッシュし、有効期限が切れると更新します。アプリケーションで選択したスコープが、クエリ予定のビューに対応していることを確認してください。対応していない場合、トークンのリクエストが失敗することがあります。
ビルトイン接続文字列デザイナー
JDBC URL の構成については、Talkdesk JDBC Driver に組み込まれている接続文字列デザイナーを使用してください。JAR ファイルのダブルクリック、またはコマンドラインからJAR ファイルを実行します。
java -jar cdata.jdbc.talkdesk.jar
接続プロパティを入力し、接続文字列をクリップボードにコピーします。
Talkdesk の接続文字列は、通常次のようになります。
jdbc:talkdesk:AccountName=myAccount;Region=US;OAuthClientId=myClientId;OAuthClientSecret=myClientSecret;
構成済みのJDBC URL を使用して、DAO インターフェースのインスタンスを取得します。以下に示す特定のメソッドはインスタンスにバインドされたハンドルを開くため、ハンドルとバインドされたJDBC 接続を開放するには、インスタンスを明示的に閉じる必要があります。
DBI dbi = new DBI("jdbc:talkdesk:AccountName=myAccount;Region=US;OAuthClientId=myClientId;OAuthClientSecret=myClientSecret;");
MyUsersDAO dao = dbi.open(MyUsersDAO.class);
//do stuff with the DAO
dao.close();
Talkdesk データについて
Talkdesk への接続を開いた状態で以前定義したメソッドを呼び出すだけで、Talkdesk のUsers エンティティからデータを取得できます。
//disply the result of our 'find' method
String name = dao.findNameByActive("true");
System.out.println(name);
JDBI ライブラリはJDBC 接続を処理できるため、CData JDBC Driver for Talkdesk と統合することで、SQL Object API for Talkdesk を簡単に作成できます。今すぐ無料トライアルをダウンロードし、Java アプリケーションでリアルタイムTalkdesk を操作しましょう。