製品をチェック

Azure Driver の30日間無償トライアルをダウンロード

 30日間の無償トライアルへ

製品の詳細

Azure Storage アイコン Azure JDBC Driver 相談したい

リアルタイムなAzure テーブルストレージデータを組み込んだパワフルなJava アプリケーションを短時間・低コストで作成して配布できます。

JDBI からAzure Table データ のデータアクセスオブジェクトを作成

JDBI でAzure Table データ 用のSQL オブジェクトAPIを作成する方法を概説します。

加藤龍彦
デジタルマーケティング

最終更新日:2022-05-25
azure ロゴ

CData

jdbc ロゴ画像
JDBI ロゴ

こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。

JDBI は、Fluent スタイルとSQL オブジェクトスタイルという2つの異なるスタイルAPI を公開する、Java 用のSQL コンビニエンスライブラリです。CData JDBC Driver for AzureTables は、Java アプリケーションとリアルタイムAzure Table データ のデータ連携を実現します。これらの技術を組み合わせることによって、Azure Table データ へのシンプルなコードアクセスが可能になります。ここでは、基本的なDAO(Data Access Object )とそれに付随するAzure Table データ の読み書きのためのコードの作成について説明します。

Azure Table NorthwindProducts Entity のDAO を作成

以下のインターフェースは、実装されるSQL ステートメントごとに単一のメソッドを作成するためのSQL オブジェクトの正しい動作を宣言します。

public interface MyNorthwindProductsDAO { //insert new data into Azure Table @SqlUpdate("INSERT INTO NorthwindProducts (ShipCity, Price) values (:shipCity, :price)") void insert(@Bind("shipCity") String shipCity, @Bind("price") String price); //request specific data from Azure Table (String type is used for simplicity) @SqlQuery("SELECT Price FROM NorthwindProducts WHERE ShipCity = :shipCity") String findPriceByShipCity(@Bind("shipCity") String shipCity); /* * close with no args is used to close the connection */ void close(); }

Azure Table への接続を開く

必要な接続プロパティを収集し、Azure Table に接続するための適切なJDBC URL を作成します。

Account プロパティをストレージアカウント名に設定し、ストレージアカウントのAccessKey を設定して接続します。これらの値を取得する方法は次のとおりです。

ストレージをBackend として使用している場合(デフォルト)

  • Azure ポータルにログインし、左側の「サービス」メニューで「ストレージアカウント」を選択します。
  • ストレージアカウントがない場合は、「追加」ボタンをクリックしてアカウントを作成します。
  • 使用するストレージアカウントのリンクをクリックし、「設定」の「アクセスキー」を選択します。 「アクセスキー」ウィンドウには、ストレージアカウント名とCData 製品で使用するキー(接続にはkey1またはkey2のどちらかを使用できます)が含まれています。これらのプロパティは、それぞれAccount とAccessKey 接続プロパティにマッピングされます。

Azure SQL への接続

  • Azure ポータルにログインし、左側の「サービス」メニューで「Azure Cosmos DB」を選択します。
  • 使用するCosmos DB アカウントのリンクをクリックし、「設定」の「接続文字列」を選択します。 「接続文字列」ウィンドウには、Cosmos DB アカウント名とCData 製品で使用する主キーが含まれています。これらのプロパティは、それぞれAccount とAccessKey 接続プロパティにマッピングされます。

ビルトイン接続文字列デザイナー

JDBC URL の構成については、Azure Table JDBC Driver に組み込まれている接続文字列デザイナーを使用してください。JAR ファイルのダブルクリック、またはコマンドラインからJAR ファイルを実行します。

java -jar cdata.jdbc.azuretables.jar

接続プロパティを入力し、接続文字列をクリップボードにコピーします。

Using the built-in connection string designer to generate a JDBC URL (Salesforce is shown.)

Azure Table の接続文字列は、通常次のようになります。

jdbc:azuretables:AccessKey=myAccessKey;Account=myAccountName;

構成済みのJDBC URL を使用して、DAO インターフェースのインスタンスを取得します。以下に示す特定のメソッドはインスタンスにバインドされたハンドルを開くため、ハンドルとバインドされたJDBC 接続を開放するには、インスタンスを明示的に閉じる必要があります。

DBI dbi = new DBI("jdbc:azuretables:AccessKey=myAccessKey;Account=myAccountName;"); MyNorthwindProductsDAO dao = dbi.open(MyNorthwindProductsDAO.class); //do stuff with the DAO dao.close();

Azure Table データ について

Azure Table への接続を開いた状態で以前定義したメソッドを呼び出すだけで、Azure Table のNorthwindProducts エンティティからデータを取得できます。

//disply the result of our 'find' method String price = dao.findPriceByShipCity("New York"); System.out.println(price);

Azure Table データ の書き方

以前定義した方法を使用すれば、Azure Table にデータを書き込むことも簡単になります。

//add a new entry to the NorthwindProducts entity dao.insert(newShipCity, newPrice);

JDBI ライブラリはJDBC 接続を処理できるため、CData JDBC Driver for AzureTables と統合することで、SQL Object API for AzureTables を簡単に作成できます。今すぐ無料トライアルをダウンロードし、Java アプリケーションでリアルタイムAzure Table を操作しましょう。

関連コンテンツ

トライアル・お問い合わせ

30日間無償トライアルで、CData のリアルタイムデータ連携をフルにお試しいただけます。記事や製品についてのご質問があればお気軽にお問い合わせください。