SQLAlchemy ORM を使用して Python で e-Sales Manager のデータ にアクセスする方法
Python の豊富なモジュールエコシステムを活用することで、迅速に作業を開始し、システムを効果的に統合できます。CData Python Connector for e-Sales Manager と SQLAlchemy ツールキットを使用して、e-Sales Manager に接続された Python アプリケーションやスクリプトを構築できます。この記事では、SQLAlchemy を使用して e-Sales Manager のデータ に接続し、クエリ、更新、削除、挿入を実行する方法を説明します。
CData Python Connector は最適化されたデータ処理機能を内蔵しており、Python からリアルタイムの e-Sales Manager のデータ を操作する際に比類のないパフォーマンスを提供します。e-Sales Manager に対して複雑な SQL クエリを発行すると、CData Connector はフィルタや集計などのサポートされている SQL 操作を直接 e-Sales Manager にプッシュし、サポートされていない操作(多くの場合 SQL 関数や JOIN 操作)は組み込みの SQL エンジンを使用してクライアント側で処理します。
e-Sales Manager のデータ への接続
e-Sales Manager のデータ への接続は、他のリレーショナルデータソースへの接続と同様です。必要な接続プロパティを使用して接続文字列を作成します。この記事では、接続文字列を create_engine 関数のパラメータとして渡します。
e セールスマネージャー Remix に接続するには、User、Passowrd、URL、TenantId パラメータが必要です。
- User:API を実行するためのログインユーザーのユーザーID。
- Password:API を実行するためのログインユーザーのユーザーパスワード 。
- URL:e-Sales Manager Remix エンドポイントへのURL。例:https://XXX.softbrain.co.jp
- TenantId:e-Sales Manager Remix テナント名のTenantd。例:cdata
以下の手順に従って SQLAlchemy をインストールし、Python オブジェクトを通じて e-Sales Manager にアクセスしてみましょう。
必要なモジュールのインストール
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 での e-Sales Manager のデータ のモデリング
これで接続文字列を使用して接続できます。create_engine 関数を使用して、e-Sales Manager のデータ を操作するための Engine を作成します。
注意: 接続文字列のプロパティに特殊文字が含まれている場合は、URL エンコードする必要があります。詳細については、SQL Alchemy ドキュメントを参照してください。
engine = create_engine("esalesmanager:///?User=MyUsername&Password=MyPassword&URL=MyInstanceURL&TenantId=MyTenantId")
e-Sales Manager のデータ のマッピングクラスの宣言
接続を確立したら、ORM でモデル化するテーブルのマッピングクラスを宣言します(この記事では、Customer テーブルをモデル化します)。sqlalchemy.ext.declarative.declarative_base 関数を使用して、一部またはすべてのフィールド(カラム)を定義した新しいクラスを作成します。
base = declarative_base() class Customer(base): __tablename__ = "Customer" Name = Column(String,primary_key=True) Address = Column(String) ...
e-Sales Manager のデータ のクエリ
マッピングクラスを準備したら、セッションオブジェクトを使用してデータソースにクエリを実行できます。Engine をセッションにバインドした後、セッションの query メソッドにマッピングクラスを渡します。
query メソッドの使用
engine = create_engine("esalesmanager:///?User=MyUsername&Password=MyPassword&URL=MyInstanceURL&TenantId=MyTenantId")
factory = sessionmaker(bind=engine)
session = factory()
for instance in session.query(Customer).filter_by(Address="CustomerAddress"):
print("Name: ", instance.Name)
print("Address: ", instance.Address)
print("---------")
別の方法として、適切なテーブルオブジェクトと execute メソッドを使用することもできます。以下のコードはアクティブな session で動作します。
execute メソッドの使用
Customer_table = Customer.metadata.tables["Customer"]
for instance in session.execute(Customer_table.select().where(Customer_table.c.Address == "CustomerAddress")):
print("Name: ", instance.Name)
print("Address: ", instance.Address)
print("---------")
JOIN、集計、制限などのより複雑なクエリの例については、拡張機能のヘルプドキュメントを参照してください。
e-Sales Manager のデータ の挿入
e-Sales Manager のデータ を挿入するには、マッピングクラスのインスタンスを定義し、アクティブな session に追加します。セッションの commit 関数を呼び出して、追加されたすべてのインスタンスを e-Sales Manager にプッシュします。
new_rec = Customer(Name="placeholder", Address="CustomerAddress") session.add(new_rec) session.commit()
e-Sales Manager のデータ の更新
e-Sales Manager のデータ を更新するには、フィルタクエリで目的のレコードを取得します。次に、フィールドの値を変更し、セッションの commit 関数を呼び出して、変更されたレコードを e-Sales Manager にプッシュします。
updated_rec = session.query(Customer).filter_by(SOME_ID_COLUMN="SOME_ID_VALUE").first() updated_rec.Address = "CustomerAddress" session.commit()
e-Sales Manager のデータ の削除
e-Sales Manager のデータ を削除するには、フィルタクエリで目的のレコードを取得します。次に、アクティブな session でレコードを削除し、セッションの commit 関数を呼び出して、指定されたレコード(行)に対して削除操作を実行します。
deleted_rec = session.query(Customer).filter_by(SOME_ID_COLUMN="SOME_ID_VALUE").first() session.delete(deleted_rec) session.commit()
無料トライアルと詳細情報
CData Python Connector for e-Sales Manager の30日間の無料トライアルをダウンロードして、e-Sales Manager のデータ に接続する Python アプリとスクリプトの構築を始めましょう。ご質問がありましたら、サポートチームまでお問い合わせください。