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 <entity> elemento.

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:


   rows = client.query.fetchxml(xml).execute()
   df = rows.to_dataframe()
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

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 .