DataverseClient Clase
Cliente de alto nivel para operaciones de Microsoft Dataverse.
Este cliente proporciona una interfaz sencilla y estable para interactuar con entornos de Dataverse a través de la API web. Controla la autenticación a través de Azure Identidad y delega las operaciones HTTP en un cliente OData interno.
Funciones clave:
Operaciones CRUD de OData: crear, leer, actualizar, eliminar registros
Consultas SQL: ejecución de SQL de solo lectura mediante el parámetro de API
?sqlwebMetadatos de tabla: crear, inspeccionar y eliminar tablas personalizadas; crear y eliminar columnas
Cargas de archivos: carga de archivos en columnas de archivos con compatibilidad con fragmentación
Nota:
El cliente inicializa su cliente OData interno en primer uso, lo que permite la construcción ligera sin llamadas de red inmediatas.
Nota:
Todos los métodos que se comunican con la API web de Dataverse pueden generar
HttpError en caso de que no se realice correctamente
Respuestas HTTP (por ejemplo, 401, 403, 404, 429, 500). Método individual
docstrings solo documenta excepciones específicas del dominio.
Las operaciones se organizan en espacios de nombres:
client.records: crear, actualizar, eliminar y obtener registros (consultas únicas o paginadas)client.query– Operaciones de consulta y búsquedaclient.tables: administración de metadatos de tablas y columnasclient.files: operaciones de carga de archivosclient.dataframe– contenedores de DataFrame pandas para cruD de registroclient.batch: procesamiento por lotes de varias operaciones en una sola solicitud HTTP
Los métodos beta v0 (client.create, client.query_sql, etc.) se quitaron en la versión 1.0 de disponibilidad general. La llamada a una genera ahora AttributeError con un mensaje que denomina el reemplazo de disponibilidad general y el comando codemod: anteriormente, estas llamadas generaron una sugerencia de migración sin AttributeError sugerencia de migración, por lo que la depuración del código migrado medio fue dolorosa. Consulte _REMOVED_BETA_METHODS.
El cliente admite el protocolo del administrador de contextos de Python para la limpieza automática de recursos y la agrupación de conexiones HTTP:
Constructor
DataverseClient(base_url: str, credential: TokenCredential, config: DataverseConfig | None = None, *, context: OperationContext | None = None)
Parámetros
| Nombre | Description |
|---|---|
|
base_url
Requerido
|
La dirección URL del entorno de Dataverse, por ejemplo |
|
credential
Requerido
|
Credencial de identidad de Azure para la autenticación. |
|
config
|
Configuración opcional para el idioma, los tiempos de espera y los reintentos. Si no se proporciona, los valores predeterminados se cargan desde from_env. Valor predeterminado: None
|
|
context
Requerido
|
Objeto de contexto opcional definido por el autor de la llamada anexado al encabezado saliente |
Parámetros de palabra clave únicamente
| Nombre | Description |
|---|---|
|
context
|
Valor predeterminado: None
|
Ejemplos
Recomendado: administrador de contextos (habilita la agrupación de conexiones 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
Ciclo de vida manual:
client = DataverseClient("https://org.crm.dynamics.com", credential)
try:
record_id = client.records.create("account", {"name": "Contoso Ltd"})
finally:
client.close()
Métodos
| close |
Cierre el cliente y libere los recursos. Cierra la sesión HTTP (si existe), borra las cachés internas y marca el cliente como cerrado. Seguro para llamar varias veces. Después de cerrar, cualquier operación generará RuntimeError. Se llama automáticamente al usar el cliente como administrador de contextos. Ejemplo:
|
| flush_cache |
Vaciar los metadatos o el estado del cliente almacenados en caché. |
close
Cierre el cliente y libere los recursos.
Cierra la sesión HTTP (si existe), borra las cachés internas y marca el cliente como cerrado. Seguro para llamar varias veces. Después de cerrar, cualquier operación generará RuntimeError.
Se llama automáticamente al usar el cliente como administrador de contextos.
Ejemplo:
client = DataverseClient(base_url, credential)
try:
client.records.create("account", {"name": "Contoso"})
finally:
client.close()
close() -> None
flush_cache
Vaciar los metadatos o el estado del cliente almacenados en caché.
flush_cache(kind) -> int
Parámetros
| Nombre | Description |
|---|---|
|
kind
Requerido
|
Tipo de caché que se va a vaciar. Valores admitidos actualmente:
Los tipos futuros (por ejemplo |
Devoluciones
| Tipo | Description |
|---|---|
|
Número de entradas de caché eliminadas. |
Ejemplos
Borre la caché de la lista de selección:
removed = client.flush_cache("picklist")
print(f"Cleared {removed} cached picklist entries")