FetchXmlQuery 類別

Inert FetchXML 查詢物件。 在被呼叫之前executeexecute_pages,不會有 HTTP 請求。

資料來源:。client.query.fetchxml(xml)

建構函式

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

參數

名稱 Description
xml
必要

被剝離、結構良好的 FetchXML 字串。

entity_name
必要

實體結構名稱來自元素。<entity>

client
必要

父母 DataverseClient

方法

execute

執行 FetchXML 查詢,並將所有結果以 QueryResult.

區塊 — 先取得所有頁面,並將所有記錄存於記憶體中再返回。 對於小到中型結果集來說很簡單;當結果集可能很大,或你想在記錄到手時處理時使用 execute_pages

範例:


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

懶散地在每個 HTTP 頁面產生一個 QueryResult

串流 — 每次迭代會觸發一個 HTTP 請求,產生一個頁面。 優先 execute 選擇:

  • 結果集可能很大,你不希望所有紀錄同時存在記憶體。

  • 你想要提前退出:一旦找到需要的,就停止迭代,剩餘的 HTTP 往返會自動跳過。

  • 你需要每頁進度報告或批次下游寫入。

一次性任務——不要重複修改超過一次。

範例:


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

execute

執行 FetchXML 查詢,並將所有結果以 QueryResult.

區塊 — 先取得所有頁面,並將所有記錄存於記憶體中再返回。 對於小到中型結果集來說很簡單;當結果集可能很大,或你想在記錄到手時處理時使用 execute_pages

範例:


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

傳回

類型 Description

所有頁面上的紀錄都相符。

execute_pages

懶散地在每個 HTTP 頁面產生一個 QueryResult

串流 — 每次迭代會觸發一個 HTTP 請求,產生一個頁面。 優先 execute 選擇:

  • 結果集可能很大,你不希望所有紀錄同時存在記憶體。

  • 你想要提前退出:一旦找到需要的,就停止迭代,剩餘的 HTTP 往返會自動跳過。

  • 你需要每頁進度報告或批次下游寫入。

一次性任務——不要重複修改超過一次。

範例:


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

傳回

類型 Description

每頁 QueryResult 物件的迭代器。