SQLAlchemy ORM を使用して Python で Business b-ridge のデータ にアクセスする方法
Python の豊富なモジュールエコシステムを活用することで、迅速に作業を開始し、システムを効果的に統合できます。CData Python Connector for Business b-ridge と SQLAlchemy ツールキットを使用して、Business b-ridge に接続された Python アプリケーションやスクリプトを構築できます。この記事では、SQLAlchemy を使用して Business b-ridge のデータ に接続し、クエリを実行する方法を説明します。
CData Python Connector は最適化されたデータ処理機能を内蔵しており、Python からリアルタイムの Business b-ridge のデータ を操作する際に比類のないパフォーマンスを提供します。Business b-ridge に対して複雑な SQL クエリを発行すると、CData Connector はフィルタや集計などのサポートされている SQL 操作を直接 Business b-ridge にプッシュし、サポートされていない操作(多くの場合 SQL 関数や JOIN 操作)は組み込みの SQL エンジンを使用してクライアント側で処理します。
Business b-ridge のデータ への接続
Business b-ridge のデータ への接続は、他のリレーショナルデータソースへの接続と同様です。必要な接続プロパティを使用して接続文字列を作成します。この記事では、接続文字列を create_engine 関数のパラメータとして渡します。
Business b-ridge 接続プロパティの取得・設定方法
B b-ridge への接続には、Company Key、Project Key、Subscription Key が必要となります。それぞれWeb API 利用申請時に取得できます。取得したKey を接続プロパティに設定して接続します。
- CompanyKey:Business b-ridge のCompany Key に設定。
- ProjectKey:Business b-ridge のProject Key に設定。
- SubscriptionKey:控えておいたSubscription Key に設定。
以下の手順に従って SQLAlchemy をインストールし、Python オブジェクトを通じて Business b-ridge にアクセスしてみましょう。
必要なモジュールのインストール
pip ユーティリティを使用して、SQLAlchemy ツールキットと SQLAlchemy ORM パッケージをインストールします。
pip install sqlalchemy pip install sqlalchemy.orm
適切なモジュールをインポートします。
from sqlalchemy import create_engine, String, Column from sqlalchemy.ext.declarative import declarative_base from sqlalchemy.orm import sessionmaker
Python での Business b-ridge のデータ のモデリング
これで接続文字列を使用して接続できます。create_engine 関数を使用して、Business b-ridge のデータ を操作するための Engine を作成します。
注意: 接続文字列のプロパティに特殊文字が含まれている場合は、URL エンコードする必要があります。詳細については、SQL Alchemy ドキュメントを参照してください。
engine = create_engine("businessbridge:///?")
Business b-ridge のデータ のマッピングクラスの宣言
接続を確立したら、ORM でモデル化するテーブルのマッピングクラスを宣言します(この記事では、CDATA テーブルをモデル化します)。sqlalchemy.ext.declarative.declarative_base 関数を使用して、一部またはすべてのフィールド(カラム)を定義した新しいクラスを作成します。
base = declarative_base() class CDATA(base): __tablename__ = "CDATA" ItemId = Column(String,primary_key=True) StructureId = Column(String) ...
Business b-ridge のデータ のクエリ
マッピングクラスを準備したら、セッションオブジェクトを使用してデータソースにクエリを実行できます。Engine をセッションにバインドした後、セッションの query メソッドにマッピングクラスを渡します。
query メソッドの使用
engine = create_engine("businessbridge:///?")
factory = sessionmaker(bind=engine)
session = factory()
for instance in session.query(CDATA).filter_by(ItemTypeId="1"):
print("ItemId: ", instance.ItemId)
print("StructureId: ", instance.StructureId)
print("---------")
別の方法として、適切なテーブルオブジェクトと execute メソッドを使用することもできます。以下のコードはアクティブな session で動作します。
execute メソッドの使用
CDATA_table = CDATA.metadata.tables["CDATA"]
for instance in session.execute(CDATA_table.select().where(CDATA_table.c.ItemTypeId == "1")):
print("ItemId: ", instance.ItemId)
print("StructureId: ", instance.StructureId)
print("---------")
JOIN、集計、制限などのより複雑なクエリの例については、拡張機能のヘルプドキュメントを参照してください。
無料トライアルと詳細情報
CData Python Connector for Business b-ridge の30日間の無料トライアルをダウンロードして、Business b-ridge のデータ に接続する Python アプリとスクリプトの構築を始めましょう。ご質問がありましたら、サポートチームまでお問い合わせください。