FetchXmlQuery Classe
Objeto de consulta FetchXML inerte. Não é feito nenhum pedido HTTP até execute ou execute_pages é chamado.
Obtido via client.query.fetchxml(xml).
Construtor
FetchXmlQuery(xml: str, entity_name: str, client: DataverseClient)
Parâmetros
| Name | Description |
|---|---|
|
xml
Necessário
|
String FetchXML despida e bem formada. |
|
entity_name
Necessário
|
Nome do esquema da entidade a partir do |
|
client
Necessário
|
Pai.DataverseClient |
Métodos
| execute |
Execute a consulta FetchXML e devolve todos os resultados como um QueryResultarquivo . Bloqueio — recupera todas as páginas logo à partida e mantém todos os registos na memória antes de regressar. Simples para conjuntos de resultados pequenos a médios; execute_pages Use quando o conjunto de resultados for grande ou quando quiser processar registos à medida que chegam. Example:
|
| execute_pages |
Preguiçosamente, dá um QueryResult por página HTTP. Streaming — cada iteração dispara um pedido HTTP e gera uma página. Prefere em vez execute de quando:
One-shot — não itere mais do que uma vez. Example:
|
execute
Execute a consulta FetchXML e devolve todos os resultados como um QueryResultarquivo .
Bloqueio — recupera todas as páginas logo à partida e mantém todos os registos na memória antes de regressar. Simples para conjuntos de resultados pequenos a médios; execute_pages Use quando o conjunto de resultados for grande ou quando quiser processar registos à medida que chegam.
Example:
rows = client.query.fetchxml(xml).execute()
df = rows.to_dataframe()
execute() -> QueryResult
Devoluções
| Tipo | Description |
|---|---|
|
Todos os registos correspondentes em todas as páginas. |
execute_pages
Preguiçosamente, dá um QueryResult por página HTTP.
Streaming — cada iteração dispara um pedido HTTP e gera uma página. Prefere em vez execute de quando:
O conjunto de resultados pode ser grande e não quer que todos os registos estejam em memória ao mesmo tempo.
Queres sair cedo: para de iterar assim que encontrares o que precisas e as viagens HTTP restantes são saltadas automaticamente.
Precisas de relatórios de progresso por página ou escritas em lote a jusante.
One-shot — não itere mais do que uma vez.
Example:
for page in client.query.fetchxml(xml).execute_pages():
process(page.to_dataframe())
execute_pages() -> Iterator[QueryResult]
Devoluções
| Tipo | Description |
|---|---|
|
Iterador de objetos por página QueryResult . |