FetchXmlQuery 类
Inert FetchXML 查询对象。 在调用或execute_pages调用之前execute,不会发出 HTTP 请求。
通过 client.query.fetchxml(xml). 获取。
构造函数
FetchXmlQuery(xml: str, entity_name: str, client: DataverseClient)
参数
| 名称 | 说明 |
|---|---|
|
xml
必需
|
条带格式良好的 FetchXML 字符串。 |
|
entity_name
必需
|
元素中的 |
|
client
必需
|
父 DataverseClient级。 |
方法
| execute |
执行 FetchXML 查询,并将所有结果作为一个 QueryResult返回 。 阻止 - 先提取所有页面,并在返回之前保留内存中的每条记录。 适用于中小型结果集的简单;当结果集可能很大,或者你想要在记录到达时处理记录时使用 execute_pages 。 示例:
|
| execute_pages |
Lazily 为每个 HTTP 页面生成一个 QueryResult 。 流式处理 - 每次迭代都会触发一个 HTTP 请求并生成一页。 首选于 execute 以下时间:
一枪 — 不要多次循环访问。 示例:
|
execute
执行 FetchXML 查询,并将所有结果作为一个 QueryResult返回 。
阻止 - 先提取所有页面,并在返回之前保留内存中的每条记录。 适用于中小型结果集的简单;当结果集可能很大,或者你想要在记录到达时处理记录时使用 execute_pages 。
示例:
rows = client.query.fetchxml(xml).execute()
df = rows.to_dataframe()
execute() -> QueryResult
返回
| 类型 | 说明 |
|---|---|
|
所有页面中的所有匹配记录。 |
execute_pages
Lazily 为每个 HTTP 页面生成一个 QueryResult 。
流式处理 - 每次迭代都会触发一个 HTTP 请求并生成一页。 首选于 execute 以下时间:
结果集可能很大,并且不希望一次在内存中所有记录。
需要提前退出:在找到所需内容后停止迭代,并自动跳过剩余的 HTTP 往返。
需要每页进度报告或批处理的下游写入。
一枪 — 不要多次循环访问。
示例:
for page in client.query.fetchxml(xml).execute_pages():
process(page.to_dataframe())
execute_pages() -> Iterator[QueryResult]
返回
| 类型 | 说明 |
|---|---|
|
每页 QueryResult 对象的迭代器。 |