FetchXmlQuery Klasse
Inert FetchXML-Abfrageobjekt. Es wird keine HTTP-Anforderung ausgeführt, bis execute sie execute_pages aufgerufen wird.
Erhalten über client.query.fetchxml(xml).
Konstruktor
FetchXmlQuery(xml: str, entity_name: str, client: DataverseClient)
Parameter
| Name | Beschreibung |
|---|---|
|
xml
Erforderlich
|
Entfernte, wohlgeformte FetchXML-Zeichenfolge. |
|
entity_name
Erforderlich
|
Entitätsschemaname aus dem |
|
client
Erforderlich
|
Übergeordnetes Element DataverseClient. |
Methoden
| execute |
Führen Sie die FetchXML-Abfrage aus, und geben Sie alle Ergebnisse als ein QueryResult. Blockierung – ruft alle Seiten vorab ab und hält jeden Datensatz im Arbeitsspeicher, bevor er zurückgegeben wird. Einfach für kleine bis mittlere Resultsets; verwenden, execute_pages wenn das Resultset möglicherweise groß ist oder Sie Datensätze beim Eintreffen verarbeiten möchten. Beispiel:
|
| execute_pages |
Lazily yield one QueryResult per HTTP page. Streaming – jede Iteration löst eine HTTP-Anforderung aus und liefert eine Seite. Bevorzugen Sie es vor execute , wenn:
Eine Aufnahme – iterieren Sie nicht mehr als einmal. Beispiel:
|
execute
Führen Sie die FetchXML-Abfrage aus, und geben Sie alle Ergebnisse als ein QueryResult.
Blockierung – ruft alle Seiten vorab ab und hält jeden Datensatz im Arbeitsspeicher, bevor er zurückgegeben wird. Einfach für kleine bis mittlere Resultsets; verwenden, execute_pages wenn das Resultset möglicherweise groß ist oder Sie Datensätze beim Eintreffen verarbeiten möchten.
Beispiel:
rows = client.query.fetchxml(xml).execute()
df = rows.to_dataframe()
execute() -> QueryResult
Gibt zurück
| Typ | Beschreibung |
|---|---|
|
Alle übereinstimmenden Datensätze auf allen Seiten. |
execute_pages
Lazily yield one QueryResult per HTTP page.
Streaming – jede Iteration löst eine HTTP-Anforderung aus und liefert eine Seite. Bevorzugen Sie es vor execute , wenn:
Das Resultset kann groß sein, und Sie möchten nicht, dass alle Datensätze im Arbeitsspeicher gleichzeitig gespeichert werden.
Sie möchten den frühen Exit beenden: Beenden Sie das Iterieren, sobald Sie gefunden haben, was Sie benötigen, und die verbleibenden HTTP-Roundtrips werden automatisch übersprungen.
Sie benötigen die Statusberichterstattung pro Seite oder nachgelagerte Batch-Schreibvorgänge.
Eine Aufnahme – iterieren Sie nicht mehr als einmal.
Beispiel:
for page in client.query.fetchxml(xml).execute_pages():
process(page.to_dataframe())
execute_pages() -> Iterator[QueryResult]
Gibt zurück
| Typ | Beschreibung |
|---|---|
|
Iterator von Seitenobjekten QueryResult . |