この記事では、dataverse SDK for Pythonを介して Dataverse にアクセスするようにPython環境を設定する方法について説明します。 次に、作業を開始するための簡単なコーディング例をいくつか示します。
[前提条件]
- Dataverse 環境への読み取り/書き込みアクセス。 試用版環境を使用できます。
- アプリケーション用に構成された OAuth 認証。
- アクティブ化された Python 3.10 以降の環境。
- Pandas バージョン 2.0.0 以降。
- SDK パッケージを取得するための pypi.org へのネットワーク アクセス。
SDK と依存関係をインストールする
ターミナル ウィンドウから、次のコマンドを実行します。 このコマンドは、 pypi.org パッケージから SDK の最新の安定したリリースをインストールします。
pip install PowerPlatform-Dataverse-Client
次のコマンドを実行して、パッケージではなくプロジェクトのGitHub ソースから SDK をインストールします。 PyPi パッケージまたはソースからクライアントをインストールしますが、両方をインストールすることはできません。
git clone <https://github.com/microsoft/PowerPlatform-DataverseClient-Python.git>
cd PowerPlatform-DataverseClient-Python
pip install -e .
Claude Skill をグローバルにインストールする
Python開発エクスペリエンスを向上させるために、パッケージから SDK をインストールするときに、必要に応じて 2 つの Claude Skills をインストールできます。
pip install PowerPlatform-Dataverse-Client && dataverse-install-claude-skill
Important
ソースからインストールすると、スキルが自動的に読み込まれます。
次の一覧では、2 つのスキルについて説明します。
-
dataverse-sdk-use: アプリケーションで SDK を使用するためのベスト プラクティスを適用します。 -
dataverse-sdk-dev: SDK 自体の開発と貢献に関するガイダンスを提供します。
スキルは、Claude Code CLI と Visual Studio Code 拡張機能の両方で動作します。 インストールされると、Claude は Dataverse 操作を操作するときに適切なスキルを自動的に使用します。 クロード スキルの詳細については、「 エージェント スキル」を参照してください。 インストールすると、開発用コンピューターの .claude/skills/dataverse-sdk-use/SKILL.md と .claude/skills/dataverse-sdk-dev/SKILL.mdfiles にスキル定義が表示されます。
Dataverse への接続
SDK client では、Dataverse での OAuth 認証にAzure Id TokenCredential の実装が必要です。
このコード例では、Dataverse クライアントと Azure ID の種類をインポートし、Dataverse 環境への接続を確立します。 URL の myorg は、必ず環境の正しい名前に変更してください。
from azure.identity import (
InteractiveBrowserCredential,
ClientSecretCredential,
CertificateCredential,
AzureCliCredential
)
from PowerPlatform.Dataverse.client import DataverseClient
# Development options
credential = InteractiveBrowserCredential() # Browser authentication
# credential = AzureCliCredential() # If logged in via 'az login'
# Production options
# credential = ClientSecretCredential(tenant_id, client_id, client_secret)
# credential = CertificateCredential(tenant_id, client_id, cert_path)
client = DataverseClient("https://myorg.crm.dynamics.com", credential)
オプションの HTTP 調整可能な設定を使用して接続をカスタマイズし、接続のタイムアウトや再試行などを処理できます。 DataverseConfig クラスを使用してこれらの設定にアクセスします。
Dataverse 環境へのクライアント接続が確立されたので、SDK を使用してビジネス データ、テーブル メタデータなどを操作できます。 次の記事では、これらの操作の例をいくつか取り上げます。
詳細については、「 Dataverse での OAuth の使用」を参照してください。
名前空間
PowerPlatform.Dataverse.operations パッケージには、次の表に示すように、SDK 操作を論理グループに整理するモジュールが含まれています。
| 名前 | Description |
|---|---|
| client.records | レコードの作成、更新、削除、および取得 (単一またはページ分割されたクエリ) |
| client.query | クエリ操作と検索操作 |
| client.tables | テーブルと列のメタデータ管理 |
| client.files | ファイルのアップロード操作 |
| client.dataframe | Pandas DataFrame のサポート |
| client.batch | バッチ操作 |
これらの操作の使用例については、データのクエリとデータの操作に関する記事を参照してください。