各製品の資料を入手。
詳細はこちら →PyCharm でCData ODBC Driver を使ってZuora に接続
CData ODBC Driver を使用して、ODBC データソースとしてPyCharm からZuora に接続します。
最終更新日:2022-03-14
この記事で実現できるZuora 連携のシナリオ
こんにちは!ドライバー周りのヘルプドキュメントを担当している古川です。
CData ODBC Drivers は、ODBC ドライバーをサポートするあらゆる環境から利用可能です。本記事では、PyCharm からのCData ODBC Driver for Zuora の利用を説明します。CData ODBC Deriver をデータソースとして設定する方法、データソースをクエリして結果を表示するためのPyCharm の簡単なコードを含みます。
はじめに、このチュートリアルではCData ODBC Driver for Zuora とPyCharm が、既にインストールされていることを前提としています。
Pyodbc をプロジェクトに追加
以下のステップに従って、pyodbc モジュールをプロジェクトに追加します。
- [File]->[Settings]とクリックして[project settings]ウィンドウを開きます。
- [Project: YourProjectName]メニューから[Project Interpreter]をクリックします。
- pyodbc を追加するため、+ ボタンをクリックしてpyodbc と入力します。
- [Install Package]をクリックしてpyodbc をインストールします。

CData ODBC ドライバとは?
CData ODBC ドライバは、以下のような特徴を持ったリアルタイムデータ連携ソリューションです。
- Zuora をはじめとする、CRM、MA、会計ツールなど多様なカテゴリの270種類以上のSaaS / オンプレミスデータソースに対応
- 多様なアプリケーション、ツールにZuora のデータを連携
- ノーコードでの手軽な接続設定
- 標準 SQL での柔軟なデータ読み込み・書き込み
CData ODBC ドライバでは、1.データソースとしてZuora の接続を設定、2.PyCharm 側でODBC Driver との接続を設定、という2つのステップだけでデータソースに接続できます。以下に具体的な設定手順を説明します。
CData ODBC ドライバのインストールとZuora への接続設定
まずは、本記事右側のサイドバーからZuora ODBC Driver の無償トライアルをダウンロード・インストールしてください。30日間無償で、製品版の全機能が使用できます。
これで、ODBC 接続文字列またはDSN で接続できます。お客様のOS でDSN を作成するためのガイドについては、CData ドライバードキュメントの[はじめに]セクションを参照してください。
Zuora はユーザー認証にOAuth 標準を使用しています。OAuth 認証ついて詳しくは、オンラインヘルプドキュメントを参照してください。
Tenant プロパティの設定
プロバイダへの有効な接続を作成するには、アカウントの設定と合致するテナント値を1つ選択する必要があります。以下は、利用可能なオプションのリストです。
- USProduction:リクエストはhttps://rest.zuora.com に送信されます。
- USAPISandbox:リクエストはhttps://rest.apisandbox.zuora.com に送信されます。
- USPerformanceTest:リクエストはhttps://rest.pt1.zuora.com に送信されます。
- EUProduction:リクエストはhttps://rest.eu.zuora.com に送信されます。
- EUSandbox:リクエストはhttps://rest.sandbox.eu.zuora.com に送信されます。
デフォルトではUSProduction テナントを使用します。
Zuora サービスの選択
データクエリとAQuA API の2つのZuora サービスを使用します。デフォルトでは、ZuoraService はAQuADataExport に設定されています。DataQuery
データクエリ機能は、非同期の読み取り専用SQL クエリを実行することで、Zuora テナントからのデータのエクスポートを実現します。 このサービスは、素早く軽量なSQL クエリでの使用を推奨します。制限
- フィルタ適用後の、テーブルごとの入力レコードの最大数: 1,000,000
- 出力レコードの最大数: 100,000
- テナントごとの、実行用に送信される同時クエリの最大数: 5
- テナントごとの、同時クエリの制限に達した後に実行用に送信され、キューに追加されるクエリの最大数: 10
- 1時間単位での、各クエリの最大処理時間: 1
- GB 単位での、各クエリに割り当てられるメモリの最大サイズ: 2
- Index Join を使用する際のインデックスの最大値。言い換えれば、Index Join を使用する際にWHERE 句で使われる一意の値に基づいた、左のテーブルから返されるレコードの最大数: 20.000
AQuADataExport
AQuA API のエクスポートは、すべてのオブジェクト(テーブル)のすべてのレコードをエクスポートするように設計されています。AQuA のクエリジョブには以下の制限があります。制限
- AQuA のジョブ内のクエリが8時間以上実行されている場合、ジョブは自動的に停止されます。
- 停止されたAQuA のジョブは3回再試行可能で、その後失敗として返されます。
以下はDSN の構文です。
[CData Zuora Source]
Driver = CData ODBC Driver for Zuora
Description = My Description
OAuthClientID = MyOAuthClientId
OAuthClientSecret = MyOAuthClientSecret
Tenant = USProduction
ZuoraService = DataQuery
Zuora へのクエリの実行
Cursor をインスタンス化し、Cursor クラスのexecute メソッドを使用してSQL ステートメントを実行します。
import pyodbc
cnxn = pyodbc.connect('DRIVER={CData ODBC Driver for Zuora};OAuthClientID = MyOAuthClientId;OAuthClientSecret = MyOAuthClientSecret;Tenant = USProduction;ZuoraService = DataQuery;')
cursor = cnxn.cursor()
cursor.execute("SELECT Id, BillingCity FROM Invoices WHERE BillingState = 'CA'")
rows = cursor.fetchall()
for row in rows:
print(row.Id, row.BillingCity)
CData ODBC Driver を使用してPyCharm でZuora に接続すると、Zuora にアクセスできるPython アプリケーションを標準データベースのように構築できるようになります。このチュートリアルに関する質問、コメント、フィードバックがある場合には、support@cdata.com までご連絡ください。
Zuora からPyCharm へのデータ連携には、ぜひCData ODBC ドライバをご利用ください
このようにCData ODBC ドライバと併用することで、270を超えるSaaS、NoSQL データをコーディングなしで扱うことができます。30日の無償評価版が利用できますので、ぜひ自社で使っているクラウドサービスやNoSQL と合わせて活用してみてください。
CData ODBC ドライバは日本のユーザー向けに、UI の日本語化、ドキュメントの日本語化、日本語でのテクニカルサポートを提供しています。