FetchXmlQuery Clase
Objeto de consulta Inert FetchXML. No se realiza ninguna solicitud HTTP hasta execute que se llama a o execute_pages .
Obtenido a través de client.query.fetchxml(xml).
Constructor
FetchXmlQuery(xml: str, entity_name: str, client: DataverseClient)
Parámetros
| Nombre | Description |
|---|---|
|
xml
Requerido
|
Cadena FetchXML despojada y bien formada. |
|
entity_name
Requerido
|
Nombre del esquema de entidad del |
|
client
Requerido
|
Primario DataverseClient. |
Métodos
| execute |
Ejecute la consulta FetchXML y devuelva todos los resultados como .QueryResult Bloqueo: captura todas las páginas por adelantado y contiene todos los registros en la memoria antes de devolver. Sencillo para conjuntos de resultados pequeños a medianos; use execute_pages cuando el conjunto de resultados puede ser grande o desea procesar registros a medida que llegan. Ejemplo:
|
| execute_pages |
Lazily produce una QueryResult por página HTTP. Streaming: cada iteración activa una solicitud HTTP y produce una página. Preferir cuando execute :
Un solo disparo: no itera más de una vez. Ejemplo:
|
execute
Ejecute la consulta FetchXML y devuelva todos los resultados como .QueryResult
Bloqueo: captura todas las páginas por adelantado y contiene todos los registros en la memoria antes de devolver. Sencillo para conjuntos de resultados pequeños a medianos; use execute_pages cuando el conjunto de resultados puede ser grande o desea procesar registros a medida que llegan.
Ejemplo:
rows = client.query.fetchxml(xml).execute()
df = rows.to_dataframe()
execute() -> QueryResult
Devoluciones
| Tipo | Description |
|---|---|
|
Todos los registros coincidentes en todas las páginas. |
execute_pages
Lazily produce una QueryResult por página HTTP.
Streaming: cada iteración activa una solicitud HTTP y produce una página. Preferir cuando execute :
El conjunto de resultados puede ser grande y no desea que todos los registros estén en memoria a la vez.
Quiere salir anticipada: deje de iterar una vez que encuentre lo que necesita y los recorridos de ida y vuelta HTTP restantes se omiten automáticamente.
Necesita informes de progreso por página o escrituras de bajada por lotes.
Un solo disparo: no itera más de una vez.
Ejemplo:
for page in client.query.fetchxml(xml).execute_pages():
process(page.to_dataframe())
execute_pages() -> Iterator[QueryResult]
Devoluciones
| Tipo | Description |
|---|---|
|
Iterador de objetos por página QueryResult . |