CDP Python コネクタ
CDP Python コネクタにより、Data Cloud データの価値を引き出し、拡張することができます。このコネクタは Query API を使用し、データを Data Cloud から Python に抽出します。また、このコネクタにより Pandas DataFrame にあるデータを取得できます。環境内のデータを使用して、ビジュアルデータモデルを作成したり、強力な分析操作を行ったり、強力な機械学習や AI モデルを構築することが可能です。
前提条件
CDP Python コネクタを設定するには、次の前提条件を完了します。
- PyPI (Python Package Index) リポジトリから CDP Python コネクタをインストールします。
1pip install salesforce-cdp-connector - CDP Python コネクタを認証します。コネクタは次の 2 つの方法で認証できます。
-
ユーザー名とパスワードで認証する
- 接続アプリケーションを作成し、その基本情報を完了します。
- [OAuth 設定の有効化] を選択します。
- Salesforce が OAuth 時にアプリケーションにコールバックするコールバック URL (エンドポイント) を入力します。
- 接続アプリケーションに適用する OAuth 範囲を選択します。OAuth 範囲では接続アプリケーションの権限が定義されます。これは、アプリケーションの認証後にトークンとして付与されます。OAuth トークン名は括弧で囲みます。
- [保存] をクリックして、変更を有効にします。
- [次へ] をクリックして、[接続アプリケーションを管理する] に移動します。
- コンシューマー鍵とコンシューマーの秘密をコピーします。これらは、Connection オブジェクトの作成時に使用します。
-
OAuth エンドポイントを使用して認証する
- 接続アプリケーションを作成し、その基本情報を完了します。
- [OAuth 設定の有効化] を選択します。
- Salesforce が OAuth 時にアプリケーションにコールバックするコールバック URL (エンドポイント) を入力します。
- 接続アプリケーションに適用する OAuth 範囲を選択します。OAuth 範囲では接続アプリケーションの権限が定義されます。これは、アプリケーションの認証後にトークンとして付与されます。OAuth トークン名は括弧で囲みます。
- [保存] をクリックして、変更を有効にします。
- [次へ] をクリックして、[接続アプリケーションを管理する] に移動します。
- コンシューマー鍵とコンシューマーの秘密をコピーします。これらは、Connection オブジェクトの作成時に使用します。
- この URL をブラウザーに貼り付けると、コールバック URL にリダイレクトされます。リダイレクトされた URL の形式は、<callback url>?code=<CODE>. になります。。アドレスバーから CODE を抽出します。
- POST コールを <YOUR_ORG_URL>/services/oauth2/token?code=<CODE>&grant_type=authorization_code&client_id=<clientId>&client_secret=<clientSecret>&redirect_uri=<callback_uri> に対して実行します。POST コールの応答は、access_token と refresh_token を含む JSON になります。
-
ユーザー名とパスワードで認証する
CDP Python コネクタの使用
CDP Python コネクタの設定では次の操作を行う必要があります。
- 接続オブジェクトを作成する
- カーソルオブジェクトを作成し、Data Cloud を照会する
- Data Cloud データを取得する
接続オブジェクトを作成する
接続オブジェクトは 2 つの方法で作成できます。
-
ユーザー名とパスワードを使用 ここで説明したパラメーターを使用し、ユーザー名とパスワードを指定して接続オブジェクトをインスタンス化します。
パラメーター 説明 login_url Salesforce 組織の URL user_name Salesforce 組織のユーザー名 password Salesforce 組織のパスワード client_id 接続アプリケーションによって生成されたコンシューマーキー client_secret 接続アプリケーションによって生成されたコンシューマーの秘密 1from salesforcecdpconnector.connection import SalesforceCDPConnection 2conn = SalesforceCDPConnection( 3 'login_url', 4 'user_name', 5 'password', 6 'client_id', 7 'client_secret' 8 ) -
OAuth エンドポイントを使用 ここで説明したパラメーターを使用して、OAuth エンドポイントによって接続オブジェクトをインスタンス化します。
パラメーター 説明 login_url Salesforce 組織の URL client_id Salesforce 組織のユーザー名 client_secret Salesforce 組織のパスワード core_token 「OAuth エンドポイントを使用して認証する」セクションの手順 9 で取得した access_token。 refresh_token 「OAuth エンドポイントを使用して認証する」セクションの手順 9 で取得した refresh_token。 1from salesforcecdpconnector.connection import SalesforceCDPConnection 2conn = SalesforceCDPConnection(login_url, 3 client_id='<client_id>', 4 client_secret='<client_secret>', 5 core_token='<core token>' 6 refresh_token='<refresh_token>' 7 )
カーソルオブジェクトを作成し、Data Cloud を照会する
クエリを実行するためのカーソルオブジェクトを作成します。クエリを実行すると、カーソルがそのクエリを Data Cloud に渡し、結果を取得します。
1cur = conn.cursor()
2cur.execute('<query>')Data Cloud データを取得する
データは次の 3 つの方法で取得できます。
-
1 回に 1 行取得: fetchone() メソッドを使用して、結果を 1 回に 1 行取得します。
1results = cur.fetchone() -
すべての行を取得: fetchall() メソッドを使用して、1 回のコールですべてのクエリの結果を取得します。
1results = cur.fetchall() -
Dataframe で結果を取得: get_pandas_dataframe() メソッドを使用することで、結果を Pandas DataFrame で取得できます。
1dataframe = conn.get_pandas_dataframe('<query>')