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

client
Necessário

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:


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

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 .