JayDeBeApi を使って Python からLinear のデータにアクセス
Python と Java がインストールされている環境であれば、Python スクリプトと標準 SQL を使ってLinear のデータにアクセスできます。CData JDBC Driver for Linear と JayDeBeApi モジュールを組み合わせることで、Python からリモートのLinear のデータを操作できます。CData ドライバーを使用することで、業界標準に準拠した実績のあるドライバーを Python という人気の高い言語で活用できます。この記事では、ドライバーを使って Linear に SQL クエリを実行し、標準的な Python でLinear のデータを可視化する方法を説明します。
JayDeBeApi モジュールを使用
JayDeBeApi は、JDBC(Java Database Connectivity)のブリッジとして機能する Python ライブラリで、Python プログラムから CData JDBC ドライバーを含む Java データベースとやり取りできるようになります。pip install コマンドでモジュールをインストールします。
pip install JayDeBeApi
JDBC URL を作成
JayDeBeApi をインストールしたら、SQL を使って Python から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 ファイルをダブルクリックするか、コマンドラインから実行します。
java -jar cdata.jdbc.linear.jar
接続プロパティを入力し、接続文字列をクリップボードにコピーします。
以下は、一般的な JDBC 接続文字列を含む変数の例です。
jdbc_url = "jdbc:linear:AuthScheme=APIKey;APIKey=myAPIKey;"
Python からLinear のデータにアクセス
JDBC URL を設定したら、あとは JDBC ドライバーの JAR ファイルへの絶対パスだけが必要です。これはインストールディレクトリの "lib" フォルダにあります(Windows では "C:\Program Files\CData\CData JDBC Driver for Linear 20XX\lib\cdata.jdbc.linear.jar")。
注意: まだ設定していない場合は、JAVA_HOME 環境変数を Java のインストールディレクトリに設定してください。
以下のようなコードで Linear からデータを読み取り、表示できます。
import jaydebeapi
#The JDBC connection string
jdbc_url = "jdbc:linear:AuthScheme=APIKey;APIKey=myAPIKey;"
username = "****"
password = "****"
#The absolute Path to the JDBC driver JAR file, typically:
jdbc_driver_jar = "C:\Program Files\CData\CData JDBC Driver for Linear 20XX\lib\cdata.jdbc.linear.jar"
conn = jaydebeapi.connect(
"cdata.jdbc.linear.LinearDriver",
jdbc_url,
[username, password],
jdbc_driver_jar,
)
cursor = conn.cursor()
cursor.execute("SELECT * FROM Team;")
results = cursor.fetchall()
for row in results:
print(row)
cursor.close()
conn.close()
無料トライアルと詳細情報
CData JDBC Driver for Linear の 30 日間無料トライアルをダウンロードして、Python でリアルタイムのLinear のデータを操作してみてください。ご不明な点がございましたら、サポートチームまでお問い合わせください。