SAP Ariba Procurement のデータにPythonで接続する方法|CData Connect AI SDK
CData Connect AI Python SDK を使うと、標準的なDB-API 2.0のPythonコードでSAP Ariba Procurement のデータをそのまま読み書きできます。プログラミング不要の他ツールと異なり、pandasやpetlなど既存のPythonエコシステムにそのまま組み込めます。パッケージのインストールからクエリ実行まで3ステップで完了します。
CData Connect AI Python SDK(cdata-connect-ai)は DB-API 2.0(PEP 249)に準拠したクライアントで、標準的な Python のデータベースコードでリアルタイムのSAP Ariba Procurement のデータを取得・操作できます。接続まわりは Connect AI が引き受けてくれるので、パッケージを1つインストールしてパーソナルアクセストークンで認証するだけで、SAP Ariba Procurement(および Connect AI に接続済みのその他すべてのソース)にクエリを実行できます。しかも sqlite3 や psycopg2 といったライブラリでおなじみの connect() / cursor() / fetchall() という同じパターンをそのまま使えます。
この記事では、Connect AI で SAP Ariba Procurement に接続し、パーソナルアクセストークンを生成して SDK をインストールし、リアルタイムのSAP Ariba Procurement のデータを読み取る(対応している場合は書き込む)までの流れをご紹介します。
事前準備
- CData Connect AI のアカウント
- Python 3.8 以降
- 有効な認証情報を持つアクティブな SAP Ariba Procurement アカウント
Connect AI で SAP Ariba Procurement に接続する方法は?
CData Connect AI では、直感的なクリック操作ベースのインターフェースでデータソースに接続できます。
- Connect AI にログインし、Sources をクリックして、 Add Connection をクリックします
- 「Add Connection」パネルから「SAP Ariba Procurement」を選択します
-
SAP Ariba Procurement に接続するために必要な認証プロパティを入力します。
それでは、SAP Ariba Procurement に接続していきましょう。接続するには、以下のプロパティを設定します。
- ANID:Ariba Network ID
- API:CData 製品にSAP Ariba データを取得させたいAPI を指定してください。ビジネスロールに基づき、Buyer またはSupplier API を選択します(可能な値は、PurchaseOrdersBuyerAPIV1、または PurchaseOrdersSupplierAPIV1 です)
- Environment:接続先がテスト環境か本番環境かを指定してください(可能な値は、TEST またはPRODUCTION です)
OAuth 認証
続いて、接続プロパティを設定した後、認証のためにOAuth 接続を設定する必要があります。
- AuthScheme をOAuthClient に設定します
- サービスにアプリケーションを登録し、APIKey、OAuthClientId、およびOAuthClientSecret を取得する必要があります
OAuth アプリケーションの作成について、詳しくはヘルプドキュメントをご確認ください。
OAuth の自動リフレッシュ
以下のプロパティを設定して、接続してみましょう。
- APIKey:アプリケーション設定のApplication key
- OAuthClientId:アプリケーション設定のOAuth Client Id
- OAuthClientSecret:アプリケーション設定のOAuth Secret
接続すると、CData 製品が自動でOAuth プロセスを完了します。
- CData 製品がSAP Ariba からアクセストークンを取得し、それを使ってデータをリクエストします
- CData 製品がアクセストークンの期限が切れると自動的にリフレッシュします
- OAuth 値はOAuthSettingsLocation で指定された場所に基づいてメモリに保存されます
- 「Save & Test」をクリックします
- 「Permissions」タブに移動し、ユーザーベースの権限を更新します。

パーソナルアクセストークン(PAT)を生成する
Python SDK は、アカウントのメールアドレスとパーソナルアクセストークン(PAT)を使って Connect AI に認証します。アクセスの粒度を保つために、アプリケーションごとに個別の PAT を作成することをおすすめします。
- Connect AI アプリの右上にある歯車アイコン()をクリックして、設定ページを開きます。
- 設定ページの Access Tokens セクションに移動し、 Create PAT をクリックします。
- PAT に名前を付けて Create をクリックします。

- パーソナルアクセストークンは作成時にのみ表示されます。必ずコピーして安全な場所に保管してください。
SDK をインストールする
pip を使って PyPI から SDK をインストールします。
pip install cdata-connect-ai
接続して最初のクエリを実行する
アカウントのメールアドレスと PAT で接続したら、sys_tables にクエリを実行して、接続済みのソース全体で利用可能なテーブルを確認してみましょう。Connect AI の識別子は <Connection>.<Schema>.<Table> という3つの部分で構成されており、接続名はデフォルトでソース名(例:SAPAribaProcurement1)になります。
import cdata_connect_ai
conn = cdata_connect_ai.connect(
username="[email protected]",
password="<your_pat>",
)
cur = conn.cursor()
# Discover what's available across your connected sources
cur.execute("SELECT CatalogName, SchemaName, TableName FROM sys_tables LIMIT 25")
for row in cur.fetchall():
print(row)
結果から任意のテーブルを選び、直接クエリを実行してみましょう。
cur.execute(
"SELECT DocumentNumber, Revision "
"FROM [SAPAribaProcurement1].[SAPAribaProcurement].[Orders] "
"LIMIT 10"
)
for row in cur.fetchall():
print(row)
SAP Ariba Procurement は Connect AI では読み取り専用のソースのため、SDK はクエリには対応していますが、INSERT、UPDATE、DELETE には対応していません。作業が終わったら接続を閉じましょう。
conn.close()
これがワークフローのすべてです。パッケージが1つ、PAT、そして標準的な DB-API 呼び出しだけ。SDK は通常の DB-API 接続を返すので、Python のデータエコシステムのほかのツールにもそのまま組み込めます。ここから先は、この同じ接続を使って、SAP Ariba Procurement のデータを pandas に読み込んだり、petl で ETL パイプラインを構築したり、Dash の Web アプリを動かしたりできます。
関連情報と無料トライアル
これで、CData Connect AI Python SDK を通じて Python からリアルタイムのSAP Ariba Procurement のデータをクエリできるようになりました。SAP Ariba Procurement(および数百種類のその他のデータソース)への接続について詳しくは、Connect AI のページをご覧ください。
CData Connect AI の詳細、または無料トライアルにお申し込みください: