ノーコードでクラウド上のデータとの連携を実現。
詳細はこちら →CData
こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。
JDBI は、Fluent スタイルとSQL オブジェクトスタイルという2つの異なるスタイルAPI を公開する、Java 用のSQL コンビニエンスライブラリです。CData JDBC Driver for Confluence は、Java アプリケーションとリアルタイムConfluence データ のデータ連携を実現します。これらの技術を組み合わせることによって、Confluence データ へのシンプルなコードアクセスが可能になります。ここでは、基本的なDAO(Data Access Object )とそれに付随するConfluence データ の読み書きのためのコードの作成について説明します。
以下のインターフェースは、実装されるSQL ステートメントごとに単一のメソッドを作成するためのSQL オブジェクトの正しい動作を宣言します。
public interface MyPagesDAO {
//request specific data from Confluence (String type is used for simplicity)
@SqlQuery("SELECT Name FROM Pages WHERE Id = :id")
String findNameById(@Bind("id") String id);
/*
* close with no args is used to close the connection
*/
void close();
}
必要な接続プロパティを収集し、Confluence に接続するための適切なJDBC URL を作成します。
API token は、アカウントへの認証に必須です。トークンの生成には、Atlassian アカウントでサービスにログインし、API tokens > Create API token に進みます。生成されたトークンが表示されます。
Cloud アカウントへの接続には、以下のプロパティを設定します(Password は、Server Instance への接続時のみ必要で、Cloud Account への接続には不要になりました。):
Server instance への接続には以下を設定します:
JDBC URL の構成については、Confluence JDBC Driver に組み込まれている接続文字列デザイナーを使用してください。JAR ファイルのダブルクリック、またはコマンドラインからJAR ファイルを実行します。
java -jar cdata.jdbc.confluence.jar
接続プロパティを入力し、接続文字列をクリップボードにコピーします。
Confluence の接続文字列は、通常次のようになります。
jdbc:confluence:User=admin;APIToken=myApiToken;Url=https://yoursitename.atlassian.net;Timezone=America/New_York;
構成済みのJDBC URL を使用して、DAO インターフェースのインスタンスを取得します。以下に示す特定のメソッドはインスタンスにバインドされたハンドルを開くため、ハンドルとバインドされたJDBC 接続を開放するには、インスタンスを明示的に閉じる必要があります。
DBI dbi = new DBI("jdbc:confluence:User=admin;APIToken=myApiToken;Url=https://yoursitename.atlassian.net;Timezone=America/New_York;");
MyPagesDAO dao = dbi.open(MyPagesDAO.class);
//do stuff with the DAO
dao.close();
Confluence への接続を開いた状態で以前定義したメソッドを呼び出すだけで、Confluence のPages エンティティからデータを取得できます。
//disply the result of our 'find' method
String name = dao.findNameById("10000");
System.out.println(name);
JDBI ライブラリはJDBC 接続を処理できるため、CData JDBC Driver for Confluence と統合することで、SQL Object API for Confluence を簡単に作成できます。今すぐ無料トライアルをダウンロードし、Java アプリケーションでリアルタイムConfluence を操作しましょう。