Linear のデータ のPostgreSQL インターフェースを作成
PostgreSQL には多くの対応クライアントがあります。標準のドライバーからBI、アナリティクスツールまで、PostgreSQL はデータ接続の人気のインターフェースです。JDBC ドライバーを使用することで、簡単に任意の標準クライアントから接続できるPostgreSQL エントリポイントを作成できます。
Linear にPostgreSQL データベースとしてアクセスするには、CData JDBC Driver for Linear とJDBC foreign data wrapper (FDW) を使用します。この記事ではFDW をコンパイルしてインストールし、PostgreSQL サーバーからLinear にクエリを実行します。
JDBC データソースとしてLinear のデータに接続する
JDBC データソースとしてLinear に接続するには、以下が必要です。
- Driver のJAR パス:JAR ファイルは、インストールディレクトリのlib サブフォルダにあります。
Driver クラス
cdata.jdbc.linear.LinearDriver- JDBC URL:
URL は、"jdbc:linear:" で始まり、セミコロンで区切られた名前と値の組み合わせで任意の接続プロパティを含めることができます。
Linear への認証には、個人用 API キーまたは OAuth 2.0 を使用できます。ご自身の Linear アカウントで接続する場合は、API キーを使うのが最も手軽です。
API キーによる認証
以下の接続プロパティを設定します。
- AuthScheme:APIKey に設定します。
- APIKey:Linear の個人用 API キー。
個人用 API キーを作成するには、Linear にログインして Settings > Security & access > Personal API keys を開き、New API key を選択して作成します。キーは一度しか表示されないため、すぐにコピーしておきましょう。
OAuth による認証
OAuth を使用するには、Linear にカスタム OAuth アプリケーションを登録する必要があります(Settings > API > OAuth applications)。登録すると OAuthClientId と OAuthClientSecret が発行されます。対応しているフローは以下の 2 つです。
- Authorization code:AuthScheme を OAuth、InitiateOAuth を GETANDREFRESH に設定し、OAuthClientId、OAuthClientSecret、およびアプリケーションで定義した CallbackURL(例:http://localhost:33333)を指定します。ドライバーがブラウザで Linear を開くので、アクセスを許可してください。
- Client credentials:AuthScheme を OAuthClient に設定し、OAuthClientId と OAuthClientSecret を指定します。アプリケーション自体を認証するためブラウザ操作は不要で、マシン間(M2M)連携に適しています。
デフォルトでは、ドライバーは read,write スコープをリクエストします。アクセストークンは有効期限が切れると自動で更新されます。
ビルトイン接続文字列デザイナ
JDBC URL の構成については、Linear JDBC Driver に組み込まれている接続文字列デザイナを使用できます。JAR ファイルのダブルクリック、またはコマンドラインからJAR ファイルを実行します。
java -jar cdata.jdbc.linear.jar接続プロパティを入力し、接続文字列をクリップボードにコピーします。
以下は一般的なJDBC URL です。
jdbc:linear:AuthScheme=APIKey;APIKey=myAPIKey;
JDBC FDW を構築する
FDW は、PostgreSQL を再コンパイルせずに、PostgreSQL の拡張機能としてインストールできます。例としてjdbc2_fdw 拡張子を使用します。
- ご使用のバージョンのJRE 共有オブジェクトから、/usr/lib/libjvm.so にシンボリックリンクを追加します。コマンド例:
ln -s /usr/lib/jvm/java-6-openjdk/jre/lib/amd64/server/libjvm.so /usr/lib/libjvm.so - ビルドするには、以下のコマンドを実行してください。
make install USE_PGXS=1
Linear のデータをPostgreSQL データベースとしてクエリする
拡張機能をインストールした後、以下のステップに従ってLinear へのクエリの実行を開始します。
- データベースにログイン
-
データベースの拡張機能をロード
CREATE EXTENSION jdbc2_fdw; -
Linear のオブジェクトを作成
CREATE SERVER Linear FOREIGN DATA WRAPPER jdbc2_fdw OPTIONS ( drivername 'cdata.jdbc.linear.LinearDriver', url 'jdbc:linear:AuthScheme=APIKey;APIKey=myAPIKey;', querytimeout '15', jarfile '/home/MyUser/CData/CData\ JDBC\ Driver\ for\ Salesforce MyDriverEdition/lib/cdata.jdbc.linear.jar'); -
PostgreSQL デーモンに認識されているユーザーのユーザー名とパスワードのユーザーマッピングを作成
CREATE USER MAPPING for postgres SERVER Linear OPTIONS ( username 'admin', password 'test'); -
ローカルデータベースに外部テーブルを作成
postgres=# CREATE FOREIGN TABLE team ( team_id text, team_id text, team_name numeric) SERVER Linear OPTIONS ( table_name 'team');
postgres=# SELECT * FROM team;
おわりに
このようにCData JDBC Driver for Linear を使って簡単にLinear のデータを取得して検索対象にすることができました。ぜひ、30日の無償評価版 をお試しください。