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 <entity> elemento.

client
Obrigatório

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:


   rows = client.query.fetchxml(xml).execute()
   df = rows.to_dataframe()
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

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 .