🦫

Data Cloud CDP Python Connectorを試してみた

2024/10/09に公開

TL;DR

CDP Python Connectorとは?
一言で言うと、Data Cloud Query APIのラッパー。

処理の流れの概略は次のようなイメージとなります。

主な特徴

  • Query APIの実行はPythonのパッケージが代行を行う
  • システムはPythonの処理の中でデータ取得し、様々なユースケースに活用することが可能

取得可能なデータ種別

  • データレイクオブジェクト
  • データモデルオブジェクト
  • 計算済みインサイト
  • データグラフ

ユースケースの例

外部環境でのデータ分析

  • Pythonコネクタを通じで外部環境にデータをエクスポートし、高度な分析やカスタムレポートを作成。
    • 効果:外部のデータ分析ツールに連携したり、Pythonのライブラリ(例: Pandas、NumPy、Matplotlibなど)を活用することで、高度なデータ分析が可能になります。これにより、ビジネスインサイトをより深く掘り下げ、意思決定に役立てることができます。

予測AIモデルを構築

  • Pythonコネクタを通じてデータを取得し、外部のAI/MLフレームワーク(例: TensorFlow、PyTorch、Scikit-learnなど)でAIモデルを構築。
    • 効果:外部に予測AIモデルを構築されている場合、MLの開発で使い慣れたPythonを利用し、Data Cloudのデータを活用することが可能です。

利用のための3ステップ

1.パッケージインストール

PyPI (Python Package Index) リポジトリから CDP Python Connectorをインストール。

2.Pythonの実行

Pythonソースコードを実行することで、DMOやDLOなどのデータを取得。

3.取得データの活用

取得データはPythonの処理の中でユースケース応じて様々な用途に活用可能。

前提条件

パッケージのインポート

PyPI (Python Package Index) リポジトリからCDP Python Connectorの最新版をインストールします。
※当記事執筆時点で最新版は1.0.15
https://pypi.org/project/salesforce-cdp-connector/

CDP Python Connectorを用いた簡易なリクエスト例

Authenticate with username and password

python_connector_example.py
from salesforcecdpconnector.connection import SalesforceCDPConnection

# 認証情報を設定
# ※以下の変数にはご自身のSalesforce組織の情報を入力してください。
LOGIN_URL = 'https://login.salesforce.com'
USERNAME = 'your_username@example.com'
PASSWORD = 'your_password'
CLIENT_ID = 'your_consumer_key'
CLIENT_SECRET = 'your_consumer_secret'

# クエリを設定
QUERY = """
SELECT ssot__Id__c FROM ssot__Individual__dlm LIMIT 10 (←目的に応じてクエリを記述)
"""

def main():
    try:
        # 接続オブジェクトの作成(ユーザー名とパスワードを使用)
        conn = SalesforceCDPConnection(
            login_url=LOGIN_URL,
            username=USERNAME,
            password=PASSWORD,
            client_id=CLIENT_ID,
            client_secret=CLIENT_SECRET
        )
        print("接続に成功しました。")

        # カーソルオブジェクトの作成
        cursor = conn.cursor()

        # クエリの実行
        cursor.execute(QUERY)
        print("クエリが正常に実行されました。")

        # データをPandas DataFrameに取得
        dataframe = conn.get_pandas_dataframe(QUERY)
        print("データの取得に成功しました。")

        # DataFrameの表示
        print(dataframe.head())

    except Exception as e:
        print(f"エラーが発生しました: {e}")

if __name__ == "__main__":
    main()

実行結果の確認

Data Cloudへの接続とクエリに成功した結果を確認

※本記事は、私が所属する会社とは一切関係のない事柄です。

Discussion