FetchXmlQuery Classe
Objeto de consulta FetchXML inert. Nenhuma solicitação HTTP é feita até execute ou execute_pages é chamada.
Obtido por .client.query.fetchxml(xml)
Construtor
FetchXmlQuery(xml: str, entity_name: str, client: DataverseClient)
Parâmetros
| Nome | Description |
|---|---|
|
xml
Obrigatório
|
Cadeia de caracteres FetchXML despojada e bem formada. |
|
entity_name
Obrigatório
|
Nome do esquema de entidade do |
|
client
Obrigatório
|
Pai DataverseClient. |
Métodos
| execute |
Execute a consulta FetchXML e retorne todos os resultados como um QueryResult. Bloqueio – busca todas as páginas antecipadamente e mantém todos os registros na memória antes de retornar. Simples para conjuntos de resultados de pequeno a médio; use execute_pages quando o conjunto de resultados pode ser grande ou você deseja processar registros à medida que eles chegam. Exemplo:
|
| execute_pages |
Rendimento preguiçosamente um QueryResult por página HTTP. Streaming – cada iteração dispara uma solicitação HTTP e gera uma página. Prefira mais execute quando:
Um tiro – não itera mais de uma vez. Exemplo:
|
execute
Execute a consulta FetchXML e retorne todos os resultados como um QueryResult.
Bloqueio – busca todas as páginas antecipadamente e mantém todos os registros na memória antes de retornar. Simples para conjuntos de resultados de pequeno a médio; use execute_pages quando o conjunto de resultados pode ser grande ou você deseja processar registros à medida que eles chegam.
Exemplo:
rows = client.query.fetchxml(xml).execute()
df = rows.to_dataframe()
execute() -> QueryResult
Retornos
| Tipo | Description |
|---|---|
|
Todos os registros correspondentes em todas as páginas. |
execute_pages
Rendimento preguiçosamente um QueryResult por página HTTP.
Streaming – cada iteração dispara uma solicitação HTTP e gera uma página. Prefira mais execute quando:
O conjunto de resultados pode ser grande e você não deseja todos os registros na memória ao mesmo tempo.
Você deseja sair antecipadamente: pare de iterar depois de encontrar o que precisa e as viagens de ida e volta HTTP restantes sejam ignoradas automaticamente.
Você precisa de relatórios de progresso por página ou gravações downstream em lote.
Um tiro – não itera mais de uma vez.
Exemplo:
for page in client.query.fetchxml(xml).execute_pages():
process(page.to_dataframe())
execute_pages() -> Iterator[QueryResult]
Retornos
| Tipo | Description |
|---|---|
|
Iterador de objetos por página QueryResult . |