入门指南

本文介绍如何设置Python环境,以便通过用于Python的 Dataverse SDK 访问 Dataverse。 然后,它显示了一些简单的编码示例来帮助你入门。

先决条件

  • 对 Dataverse 环境的读/写访问权限。 可以使用 试用环境
  • 为应用程序配置的 OAuth 身份验证。
  • 激活的 Python 3.10+ 环境。
  • Pandas 版本 2.0.0+。
  • pypi.org 的网络访问以获取 SDK 包。

安装 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 技能全局安装

若要改进Python开发体验,可以选择在从包安装 SDK 时安装两个 Claude Skills。

pip install PowerPlatform-Dataverse-Client && dataverse-install-claude-skill

Important

从源安装时会自动加载技能。

以下列表中描述了这两种技能:

  • dataverse-sdk-use:应用在应用程序中使用 SDK 的最佳做法。
  • dataverse-sdk-dev:提供有关 SDK 本身的开发和贡献的指导。

这些技能适用于 Claude Code CLI 和 Visual Studio Code 扩展。 安装后,Claude 会在处理 Dataverse 操作时自动使用适当的技能。 有关 Claude 技能的详细信息,请参阅 代理技能。 安装完成后,您可以在开发计算机上的.claude/skills/dataverse-sdk-use/SKILL.md.claude/skills/dataverse-sdk-dev/SKILL.md文件中找到技能定义。

连接到 Dataverse

SDK client 要求提供任意 Azure Identity TokenCredential 实现,以便通过 OAuth 对 Dataverse 进行身份验证。

此代码示例导入 Dataverse 客户端并Azure标识类型,并建立与 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 来处理业务数据、表元数据等。 下一篇文章介绍这些操作的一些示例。

有关详细信息,请参阅 将 OAuth 与 Dataverse 配合使用

命名空间

PowerPlatform.Dataverse.operations 包包含将 SDK 操作组织到逻辑组中的模块,如下表所述。

Name Description
client.records 创建、更新、删除和获取记录(单一查询或分页查询)
client.query 查询和搜索操作
client.tables 表和列元数据管理
client.files 文件上传操作
client.dataframe Pandas 数据框支持
client.batch 批处理操作

有关使用这些操作的示例,请参阅查询数据和使用数据文章。

后续步骤