各製品の資料を入手。
詳細はこちら →JDBI からAirtable データ のデータアクセスオブジェクトを作成
JDBI でAirtable のデータ 用のSQL オブジェクトAPIを作成する方法を概説します。
最終更新日:2022-05-25
この記事で実現できるAirtable 連携のシナリオ
こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。
JDBI は、Fluent スタイルとSQL オブジェクトスタイルという2つの異なるスタイルAPI を公開する、Java 用のSQL コンビニエンスライブラリです。CData JDBC Driver for Airtable は、Java アプリケーションとリアルタイムAirtable のデータ のデータ連携を実現します。これらの技術を組み合わせることによって、Airtable のデータ へのシンプルなコードアクセスが可能になります。ここでは、基本的なDAO(Data Access Object )とそれに付随するAirtable のデータ の読み書きのためのコードの作成について説明します。
Airtable SampleTable_1 Entity のDAO を作成
以下のインターフェースは、実装されるSQL ステートメントごとに単一のメソッドを作成するためのSQL オブジェクトの正しい動作を宣言します。
public interface MySampleTable_1DAO {
//request specific data from Airtable (String type is used for simplicity)
@SqlQuery("SELECT Column1 FROM SampleTable_1 WHERE Column1 = :column1")
String findColumn1ByColumn1(@Bind("column1") String column1);
/*
* close with no args is used to close the connection
*/
void close();
}
Airtable への接続を開く
必要な接続プロパティを収集し、Airtable に接続するための適切なJDBC URL を作成します。
Airtable への接続には、APIKey、BaseId、TableNames のプロパティが必須です。ViewNames は任意項目でテーブルのビューを指定することができます。
- APIKey : アカウントのAPI Key。取得には、アカウントにログインして、API セクションで「Generate API Key」をクリックします。
- BaseId : ベースのId。取得には、APIKey と同じ場所で、「Airtable API」をクリックするか、https://airtable.com/api に進み、ベースを選択します。"The ID of this base is appxxN2ftedc0nEG7." というメッセージがIntroduction セッションで表示されます。
- TableNames : 選択されたベースのテーブル名のカンマ区切りのリスト。UI で見られるテーブル名と同じです。
- ViewNames : table.view 形式のビューのカンマ区切りのリスト。UI でみられるビュー名と同じです。
ビルトイン接続文字列デザイナー
JDBC URL の構成については、Airtable JDBC Driver に組み込まれている接続文字列デザイナーを使用してください。JAR ファイルのダブルクリック、またはコマンドラインからJAR ファイルを実行します。
java -jar cdata.jdbc.airtable.jar
接続プロパティを入力し、接続文字列をクリップボードにコピーします。

Airtable の接続文字列は、通常次のようになります。
jdbc:airtable:APIKey=keymz3adb53RqsU;BaseId=appxxN2fe34r3rjdG7;TableNames=TableA,...;ViewNames=TableA.ViewA,...;
構成済みのJDBC URL を使用して、DAO インターフェースのインスタンスを取得します。以下に示す特定のメソッドはインスタンスにバインドされたハンドルを開くため、ハンドルとバインドされたJDBC 接続を開放するには、インスタンスを明示的に閉じる必要があります。
DBI dbi = new DBI("jdbc:airtable:APIKey=keymz3adb53RqsU;BaseId=appxxN2fe34r3rjdG7;TableNames=TableA,...;ViewNames=TableA.ViewA,...;");
MySampleTable_1DAO dao = dbi.open(MySampleTable_1DAO.class);
//do stuff with the DAO
dao.close();
Airtable データ について
Airtable への接続を開いた状態で以前定義したメソッドを呼び出すだけで、Airtable のSampleTable_1 エンティティからデータを取得できます。
//disply the result of our 'find' method
String column1 = dao.findColumn1ByColumn1("Value1");
System.out.println(column1);
JDBI ライブラリはJDBC 接続を処理できるため、CData JDBC Driver for Airtable と統合することで、SQL Object API for Airtable を簡単に作成できます。今すぐ無料トライアルをダウンロードし、Java アプリケーションでリアルタイムAirtable を操作しましょう。