FetchXmlQuery Classe
Oggetto query FetchXML inert. Non viene effettuata alcuna richiesta HTTP fino a execute quando non viene chiamato o execute_pages .
Ottenuto tramite client.query.fetchxml(xml).
Costruttore
FetchXmlQuery(xml: str, entity_name: str, client: DataverseClient)
Parametri
| Nome | Descrizione |
|---|---|
|
xml
Necessario
|
Stringa FetchXML con formato corretto. |
|
entity_name
Necessario
|
Nome dello schema di entità dall'elemento |
|
client
Necessario
|
Padre DataverseClient. |
Metodi
| execute |
Eseguire la query FetchXML e restituire tutti i risultati come .QueryResult Blocco: recupera tutte le pagine in anticipo e contiene ogni record in memoria prima di restituire. Semplice per set di risultati da piccolo a medio; utilizzare execute_pages quando il set di risultati può essere di grandi dimensioni o si desidera elaborare i record non appena arrivano. Esempio:
|
| execute_pages |
Lazily restituisce una QueryResult per pagina HTTP. Streaming: ogni iterazione genera una richiesta HTTP e restituisce una pagina. Preferire quando execute :
Un colpo : non eseguire l'iterazione più di una volta. Esempio:
|
execute
Eseguire la query FetchXML e restituire tutti i risultati come .QueryResult
Blocco: recupera tutte le pagine in anticipo e contiene ogni record in memoria prima di restituire. Semplice per set di risultati da piccolo a medio; utilizzare execute_pages quando il set di risultati può essere di grandi dimensioni o si desidera elaborare i record non appena arrivano.
Esempio:
rows = client.query.fetchxml(xml).execute()
df = rows.to_dataframe()
execute() -> QueryResult
Valori restituiti
| Tipo | Descrizione |
|---|---|
|
Tutti i record corrispondenti in tutte le pagine. |
execute_pages
Lazily restituisce una QueryResult per pagina HTTP.
Streaming: ogni iterazione genera una richiesta HTTP e restituisce una pagina. Preferire quando execute :
Il set di risultati può essere di grandi dimensioni e non si vogliono tutti i record in memoria contemporaneamente.
Si vuole uscire in anticipo: interrompere l'iterazione dopo aver trovato ciò di cui si ha bisogno e i round trip HTTP rimanenti vengono ignorati automaticamente.
Sono necessari report sullo stato di avanzamento per pagina o scritture downstream in batch.
Un colpo : non eseguire l'iterazione più di una volta.
Esempio:
for page in client.query.fetchxml(xml).execute_pages():
process(page.to_dataframe())
execute_pages() -> Iterator[QueryResult]
Valori restituiti
| Tipo | Descrizione |
|---|---|
|
Iteratore di oggetti per pagina QueryResult . |