FetchXmlQuery Klasa

Obiekt zapytania Inert FetchXML. Żądanie HTTP nie jest wykonywane do momentu execute wywołania lub execute_pages wywołania.

Uzyskane za pośrednictwem .client.query.fetchxml(xml)

Konstruktor

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

Parametry

Nazwa Opis
xml
Wymagane

Stripped, dobrze sformułowany ciąg FetchXML.

entity_name
Wymagane

Nazwa schematu <entity> jednostki z elementu .

client
Wymagane

Element nadrzędny DataverseClient.

Metody

execute

Wykonaj zapytanie FetchXML i zwróć wszystkie wyniki jako QueryResult.

Blokowanie — pobiera wszystkie strony z góry i przechowuje każdy rekord w pamięci przed zwróceniem. Proste w przypadku małych i średnich zestawów wyników; użyj execute_pages polecenia , gdy zestaw wyników może być duży lub chcesz przetworzyć rekordy po ich nadejściu.

Example:


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

Z opóźnieniem można uzyskać jeden QueryResult na stronę HTTP.

Przesyłanie strumieniowe — każda iteracja uruchamia jedno żądanie HTTP i zwraca jedną stronę. execute Preferuj, gdy:

  • Zestaw wyników może być duży i nie chcesz jednocześnie wszystkich rekordów w pamięci.

  • Potrzebujesz wczesnego zakończenia: zatrzymaj iterację po znalezieniu potrzebnych elementów, a pozostałe rundy HTTP zostaną pominięte automatycznie.

  • Potrzebujesz raportowania postępu poszczególnych stron lub wsadowych zapisów podrzędnych.

Jeden strzał — nie iteruj więcej niż raz.

Example:


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

execute

Wykonaj zapytanie FetchXML i zwróć wszystkie wyniki jako QueryResult.

Blokowanie — pobiera wszystkie strony z góry i przechowuje każdy rekord w pamięci przed zwróceniem. Proste w przypadku małych i średnich zestawów wyników; użyj execute_pages polecenia , gdy zestaw wyników może być duży lub chcesz przetworzyć rekordy po ich nadejściu.

Example:


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

Zwraca

Typ Opis

Wszystkie pasujące rekordy na wszystkich stronach.

execute_pages

Z opóźnieniem można uzyskać jeden QueryResult na stronę HTTP.

Przesyłanie strumieniowe — każda iteracja uruchamia jedno żądanie HTTP i zwraca jedną stronę. execute Preferuj, gdy:

  • Zestaw wyników może być duży i nie chcesz jednocześnie wszystkich rekordów w pamięci.

  • Potrzebujesz wczesnego zakończenia: zatrzymaj iterację po znalezieniu potrzebnych elementów, a pozostałe rundy HTTP zostaną pominięte automatycznie.

  • Potrzebujesz raportowania postępu poszczególnych stron lub wsadowych zapisów podrzędnych.

Jeden strzał — nie iteruj więcej niż raz.

Example:


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

Zwraca

Typ Opis

Iterator obiektów na stronie QueryResult .