JDBI から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 への接続
それでは、Airtable に接続していきましょう。CData 製品は、Airtable にテーブルとビューを要求します。 Schema プロパティ(オプション)を使用すると、表示されるテーブルおよびビューを特定のベースに制限できます。 特定のベースに制限したい場合は、このプロパティを使用するスキーマの名前に設定してください。(これはAirtable のBase 名に相当します。)
すべてのAirtable Bases に加えて、DataModelInformation という名前の静的スキーマもご利用いただけます。 このスキーマでは、Bases、Tables、Users のような静的テーブルをクエリできます。 DisplayObjectIds がTrue に設定されている場合、Schema の値は名前ではなくAirtable Base id に設定する必要があります。
Airtableへの認証
続いて、認証方法を設定しましょう。個人用アクセストークンまたはOAuth PKCE のいずれかを使用してAirtable に認証できます。
個人用アクセストークン
個人用アクセストークンをまだ生成していない場合は、以下のステップで生成してみましょう。
- ユーザーアカウントにログインします
- "https://airtable.com/create/tokens" に移動します
- Create new token をクリックします
- Scopes で、Add a scope をクリックして以下の各スコープを追加します
- data.records:read
- data.records:write
- schema.bases:read
- Access で、トークンにアクセス権を付与するすべてのワークスペースとベースを追加します
- Create token をクリックしてトークンを生成します。生成されたトークンは一度しか表示されませんので、必ずコピーして保存してください
次に、以下の設定を行います。
- AuthScheme:PersonalAccessToken
- Token:先ほど生成した個人用アクセストークンの値
OAuth PKCE については、 href="/kb/help/" target="_blank">ヘルプドキュメントの「はじめに」をご確認ください。
ビルトイン接続文字列デザイナー
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 を操作しましょう。