DataverseClient Classe
Client de haut niveau pour les opérations Microsoft Dataverse.
Ce client fournit une interface simple et stable pour interagir avec les environnements Dataverse via l’API web. Il gère l’authentification via Azure Identity et délègue les opérations HTTP à un client OData interne.
Fonctionnalités clés :
Opérations CRUD OData : créer, lire, mettre à jour, supprimer des enregistrements
Requêtes SQL : exécuter SQL en lecture seule via le paramètre d’API
?sqlwebMétadonnées de table : créer, inspecter et supprimer des tables personnalisées ; créer et supprimer des colonnes
Chargements de fichiers : charger des fichiers dans des colonnes de fichiers avec prise en charge de segmentation
Note
Le client initialise automatiquement son client OData interne lors de la première utilisation, ce qui permet une construction légère sans appels réseau immédiats.
Note
Toutes les méthodes qui communiquent avec l’API Web Dataverse peuvent déclencher
HttpError sur la non-réussite
Réponses HTTP (par exemple, 401, 403, 404, 429, 500). Méthode individuelle
docstrings documente uniquement les exceptions spécifiques au domaine.
Les opérations sont organisées en espaces de noms :
client.records: créer, mettre à jour, supprimer et obtenir des enregistrements (requêtes uniques ou paginés)client.query– opérations de requête et de rechercheclient.tables– gestion des métadonnées de table et de colonneclient.files– Opérations de chargement de fichiersclient.dataframe– wrappers DataFrame pandas pour l’enregistrement CRUDclient.batch: traitement par lots de plusieurs opérations dans une requête HTTP unique
Les méthodes bêta v0 (client.create, client.query_sqletc.) ont été supprimées en disponibilité générale 1.0. L’appel d’un message se déclenche AttributeError maintenant avec un message nommant le remplacement en disponibilité générale et la commande codemod . Auparavant, ces appels ont déclenché un indicateur de migration sans AttributeError indicateur de migration, de sorte que le débogage du code à moitié migré était douloureux. Voir _REMOVED_BETA_METHODS.
Le client prend en charge le protocole de gestionnaire de contexte de Python pour le nettoyage automatique des ressources et le regroupement de connexions HTTP :
Constructeur
DataverseClient(base_url: str, credential: TokenCredential, config: DataverseConfig | None = None, *, context: OperationContext | None = None)
Paramètres
| Nom | Description |
|---|---|
|
base_url
Obligatoire
|
URL de votre environnement Dataverse, par exemple |
|
credential
Obligatoire
|
Informations d’identification d’identité Azure pour l’authentification. |
|
config
|
Configuration facultative pour la langue, les délais d’attente et les nouvelles tentatives. S’il n’est pas fourni, les valeurs par défaut sont chargées à partir de from_env. Valeur par défaut: None
|
|
context
Obligatoire
|
Objet de contexte facultatif défini par l’appelant ajouté à l’en-tête sortant |
Paramètres de mot clé uniquement
| Nom | Description |
|---|---|
|
context
|
Valeur par défaut: None
|
Exemples
Recommandé : gestionnaire de contexte (active le regroupement de connexions HTTP) :
from azure.identity import InteractiveBrowserCredential
from PowerPlatform.Dataverse.client import DataverseClient
credential = InteractiveBrowserCredential()
with DataverseClient("https://org.crm.dynamics.com", credential) as client:
record_id = client.records.create("account", {"name": "Contoso Ltd"})
client.records.update("account", record_id, {"telephone1": "555-0100"})
# Session closed, caches cleared automatically
Cycle de vie manuel :
client = DataverseClient("https://org.crm.dynamics.com", credential)
try:
record_id = client.records.create("account", {"name": "Contoso Ltd"})
finally:
client.close()
Méthodes
| close |
Fermez le client et relâchez les ressources. Ferme la session HTTP (le cas échéant), efface les caches internes et marque le client comme fermé. Sécurité pour appeler plusieurs fois. Après la fermeture, toute opération se déclenche RuntimeError. Appelé automatiquement lors de l’utilisation du client en tant que gestionnaire de contexte. Exemple :
|
| flush_cache |
Videz les métadonnées ou l’état du client mis en cache. |
close
Fermez le client et relâchez les ressources.
Ferme la session HTTP (le cas échéant), efface les caches internes et marque le client comme fermé. Sécurité pour appeler plusieurs fois. Après la fermeture, toute opération se déclenche RuntimeError.
Appelé automatiquement lors de l’utilisation du client en tant que gestionnaire de contexte.
Exemple :
client = DataverseClient(base_url, credential)
try:
client.records.create("account", {"name": "Contoso"})
finally:
client.close()
close() -> None
flush_cache
Videz les métadonnées ou l’état du client mis en cache.
flush_cache(kind) -> int
Paramètres
| Nom | Description |
|---|---|
|
kind
Obligatoire
|
Type de cache à vider. Valeurs actuellement prises en charge :
Les types futurs (par exemple |
Retours
| Type | Description |
|---|---|
|
Nombre d’entrées de cache supprimées. |
Exemples
Effacez le cache de la liste de sélection :
removed = client.flush_cache("picklist")
print(f"Cleared {removed} cached picklist entries")