dataverse-python-sdk — правило для GitHub Copilot: Dataverse
Правило даёт GitHub Copilot примеры работы с Python SDK для Dataverse: от подключения до пакетных операций и загрузки файлов. Пригодится при написании кода для Dataverse.
.github/instructions/dataverse-python-sdk.instructions.mdЧто делает dataverse-python-sdk
Правило охватывает подключение через InteractiveBrowserCredential и DataverseClient, а также создание, чтение, обновление и удаление записей. В примерах есть пакетные операции, постраничное чтение, загрузка файлов и создание таблицы с метаданными. Оно применяется ко всем файлам благодаря applyTo: '**'.
Для работы SDK нужны среда Dataverse с правами чтения и записи, Python 3.10+ и доступ к PyPI; пакет устанавливается командой pip install PowerPlatform-Dataverse-Client. SDK имеет статус preview, поэтому это стоит учитывать перед использованием в проекте. Примеры также показывают настройку повторных HTTP-запросов, задержки и тайм-аута.
Какие задачи решает
- подключить Python-клиент к среде Dataverse
- создать и изменить записи Dataverse
- обработать пакет записей за один вызов
- читать результаты постранично
- загрузить файл в поле записи
Примеры запросов агенту
- Подключи Python-клиент к Dataverse и покажи, как получить запись
accountпо её ID. - Создай несколько записей
account, затем обнови для нихtelephone1одним вызовом. - Напиши пример постраничного чтения
accountс полямиaccountid,nameиcreatedon.
Как установить dataverse-python-sdk
Вручную: положить файлы
.github/instructions/dataverse-python-sdk.instructions.mdПоле applyTo задаёт, к каким файлам применять
Вручную: положить файлы
.claude/rules/dataverse-python-sdk.mdПоле paths во frontmatter ограничивает файлы: applyTo из источника → paths
AGENTS.md
Codex читает AGENTS.md: вставьте текст правила туда
Вручную: положить файлы
.cursor/rules/dataverse-python-sdk.mdcВо frontmatter: description, globs, alwaysApply. applyTo из источника → globs, иначе правило само не подключится
Вручную: положить файлы
.devin/rules/dataverse-python-sdk.mdВручную: положить файлы
.clinerules/dataverse-python-sdk.mdПо шагам, с командами для каждой платформы: AGENTS.md и CLAUDE.md: что это, кто читает и какой выбрать
Вопросы о dataverse-python-sdk
Как установить dataverse-python-sdk в GitHub Copilot?
Добавьте файл правила по пути .github/instructions/dataverse-python-sdk.instructions.md. В GitHub Copilot правило применяется ко всем файлам.
Что делает dataverse-python-sdk?
Правило снабжает GitHub Copilot инструкциями и примерами для Python SDK Dataverse. Оно охватывает подключение, CRUD-операции, пакетную обработку, загрузку файлов и метаданные таблиц.
Что нужно для работы с Dataverse SDK for Python?
Нужна среда Dataverse с правами чтения и записи, Python 3.10+ и доступ к PyPI. SDK находится в статусе preview.
Исходный текст
dataverse-python-sdk.instructions.md · MIT
---
applyTo: '**'
---
# Dataverse SDK for Python — Official Quickstart
This instruction summarizes Microsoft Learn guidance for the Dataverse SDK for Python (preview) and provides copyable snippets.
## Prerequisites
- Dataverse environment with read/write
- Python 3.10+
- Network access to PyPI
## Install
```bash
pip install PowerPlatform-Dataverse-Client
```
## Connect
```python
from azure.identity import InteractiveBrowserCredential
from PowerPlatform.Dataverse.client import DataverseClient
from PowerPlatform.Dataverse.core.config import DataverseConfig
cfg = DataverseConfig() # defaults to language_code=1033
client = DataverseClient(
base_url="https://<myorg>.crm.dynamics.com",
credential=InteractiveBrowserCredential(),
config=cfg,
)
```
- Optional HTTP settings: `cfg.http_retries`, `cfg.http_backoff`, `cfg.http_timeout`.
## CRUD Examples
```python
# Create returns list[str] of GUIDs
account_id = client.create("account", {"name": "Acme, Inc.", "telephone1": "555-0100"})[0]
# Retrieve single
account = client.get("account", account_id)
# Update (returns None)
client.update("account", account_id, {"telephone1": "555-0199"})
# Delete
client.delete("account", account_id)
```
## Bulk Operations
```python
# Broadcast patch to many IDs
ids = client.create("account", [{"name": "Contoso"}, {"name": "Fabrikam"}])
client.update("account", ids, {"telephone1": "555-0200"})
# 1:1 list of patches
client.update("account", ids, [{"telephone1": "555-1200"}, {"telephone1": "555-1300"}])
# Bulk create
payloads = [{"name": "Contoso"}, {"name": "Fabrikam"}, {"name": "Northwind"}]
ids = client.create("account", payloads)
```
## File Upload
```python
client.upload_file('account', record_id, 'sample_filecolumn', 'test.pdf')
client.upload_file('account', record_id, 'sample_filecolumn', 'test.pdf', mode='chunk', if_none_match=True)
```
## Paging Retrieve Multiple
```python
pages = client.get(
"account",
select=["accountid", "name", "createdon"],
orderby=["name asc"],
top=10,
page_size=3,
)
for page in pages:
print(len(page), page[:2])
```
## Table Metadata Quickstart
```python
info = client.create_table("SampleItem", {
"code": "string",
"count": "int",
"amount": "decimal",
"when": "datetime",
"active": "bool",
})
logical = info["entity_logical_name"]
rec_id = client.create(logical, {f"{logical}name": "Sample A"})[0]
client.delete(logical, rec_id)
client.delete_table("SampleItem")
```
## References
- Getting started: https://learn.microsoft.com/en-us/power-apps/developer/data-platform/sdk-python/get-started
- Working with data: https://learn.microsoft.com/en-us/power-apps/developer/data-platform/sdk-python/work-data
- SDK source/examples: https://github.com/microsoft/PowerPlatform-DataverseClient-Python
© github · MIT · github/awesome-copilot