CData Python Connector for Google Spanner

Build 21.0.7930

データのクエリ

接続 の手順で接続後、メタデータの反映 内のメソッドの1つを使ってメタデータの一部を反映したら、セッションオブジェクトを使用してデータをクエリできます。

query メソッドを使用したデータのクエリ

マッピングクラスが用意されている場合は、セッションオブジェクトと併用してデータソースをクエリします。エンジンをセッションにバインドしたら、以下のように、マッピングクラスをセッションのクエリメソッドに提供するだけです。

engine = create_engine("googlespanner:///?ProjectId='project1';InstanceId='instance1';Database='db1';OAuthClientId='757060765381';OauthClientSecret='abc';")
factory = sessionmaker(bind=engine)
session = factory()
for instance in session.query([CData].[GoogleSpanner].Customer).filter_by(CustomerId="12345"):
	print("Id: ", instance.Id)
	print("Name: ", instance.Name)
	print("TotalDue: ", instance.TotalDue)
	print("---------")

execute メソッドを使用したデータのクエリ

別の方法として、セッションオブジェクトは、適切なテーブルオブジェクトと一緒にexecute() メソッドを使用してクエリを実行することもできます。アクティブなセッションがあると仮定すると、以下は同様に実行可能です。

[CData].[GoogleSpanner].Customer_table = [CData].[GoogleSpanner].Customer.metadata.tables["[CData].[GoogleSpanner].Customer"]
for instance in session.execute([CData].[GoogleSpanner].Customer_table.select().where([CData].[GoogleSpanner].Customer_table.c.CustomerId == "12345")):
	print("Id: ", instance.Id)
	print("FullName: ", instance.Name)
	print("City: ", instance.BillingCity)
	print("---------")

Copyright (c) 2021 CData Software, Inc. - All rights reserved.
Build 21.0.7930