FetchXmlQuery Klass

Inert FetchXML-frågeobjekt. Ingen HTTP-begäran görs förrän execute eller execute_pages anropas.

Hämtas via client.query.fetchxml(xml).

Konstruktor

FetchXmlQuery(xml: str, entity_name: str, client: DataverseClient)

Parametrar

Name Description
xml
Obligatorisk

Avskalad, välformad FetchXML-sträng.

entity_name
Obligatorisk

Namn på entitetsschema från elementet <entity> .

client
Obligatorisk

Överordnad DataverseClient.

Metoder

execute

Kör FetchXML-frågan och returnera alla resultat som en QueryResult.

Blockering – hämtar alla sidor i förväg och innehåller varje post i minnet innan den returneras. Enkelt för små till medelstora resultatuppsättningar; använd execute_pages när resultatuppsättningen kan vara stor eller om du vill bearbeta poster när de tas emot.

Example:


   rows = client.query.fetchxml(xml).execute()
   df = rows.to_dataframe()
execute_pages

Ge lättja en QueryResult per HTTP-sida.

Direktuppspelning – varje iteration utlöser en HTTP-begäran och ger en sida. Föredra framför execute när:

  • Resultatuppsättningen kan vara stor och du vill inte ha alla poster i minnet samtidigt.

  • Du vill ha tidig avslut: sluta iterera när du hittar det du behöver och de återstående HTTP-tur och retur-resorna hoppas över automatiskt.

  • Du behöver förloppsrapportering per sida eller batchbaserade nedströmsskrivningar.

One-shot – iterera inte mer än en gång.

Example:


   for page in client.query.fetchxml(xml).execute_pages():
       process(page.to_dataframe())

execute

Kör FetchXML-frågan och returnera alla resultat som en QueryResult.

Blockering – hämtar alla sidor i förväg och innehåller varje post i minnet innan den returneras. Enkelt för små till medelstora resultatuppsättningar; använd execute_pages när resultatuppsättningen kan vara stor eller om du vill bearbeta poster när de tas emot.

Example:


   rows = client.query.fetchxml(xml).execute()
   df = rows.to_dataframe()
execute() -> QueryResult

Returer

Typ Description

Alla matchande poster på alla sidor.

execute_pages

Ge lättja en QueryResult per HTTP-sida.

Direktuppspelning – varje iteration utlöser en HTTP-begäran och ger en sida. Föredra framför execute när:

  • Resultatuppsättningen kan vara stor och du vill inte ha alla poster i minnet samtidigt.

  • Du vill ha tidig avslut: sluta iterera när du hittar det du behöver och de återstående HTTP-tur och retur-resorna hoppas över automatiskt.

  • Du behöver förloppsrapportering per sida eller batchbaserade nedströmsskrivningar.

One-shot – iterera inte mer än en gång.

Example:


   for page in client.query.fetchxml(xml).execute_pages():
       process(page.to_dataframe())
execute_pages() -> Iterator[QueryResult]

Returer

Typ Description

Iterator för objekt per sida QueryResult .