QueryBuilder Classe
Interface fluente para compilar e executar consultas OData em um cliente de sincronização.
Fornece encadeamento de métodos para construir consultas complexas com expressões de filtro composáveis. Pode ser usado autônomo (via build()) ou associado a um cliente (via execute).
Construtor
QueryBuilder(table: str)
Parâmetros
| Nome | Description |
|---|---|
|
table
Obrigatório
|
Nome do esquema de tabela para consulta. |
Exemplos
Construção de consulta autônoma:
from PowerPlatform.Dataverse.models import col
query = (QueryBuilder("account")
.select("name")
.where(col("statecode") == 0)
.top(10))
params = query.build()
# {"table": "account", "select": ["name"],
# "filter": "statecode eq 0", "top": 10}
Métodos
| execute |
Execute a consulta e retorne os resultados. Retorna um QueryResult com todas as páginas coletadas. Use execute_pages para iteração lenta por página. Esse método só está disponível quando o QueryBuilder foi criado por meio de Pelo menos um de
Preterido desde a versão The: Exemplo:
|
| execute_pages |
Rendimento preguiçosamente um QueryResult por página HTTP. Cada iteração dispara uma solicitação de rede por meio de Pelo menos um de Exemplo:
|
| to_dataframe |
Execute a consulta e retorne os resultados como um DataFrame pandas.
Preterido desde o uso da versão: Todas as páginas são consolidadas em um único DataFrame. Esse método só está disponível quando o QueryBuilder foi criado por meio de Pelo menos um de Exemplo:
|
execute
Execute a consulta e retorne os resultados.
Retorna um QueryResult com todas as páginas coletadas. Use execute_pages para iteração lenta por página.
Esse método só está disponível quando o QueryBuilder foi criado por meio de client.query.builder(table). Instâncias autônomas QueryBuilder devem ser usadas build() para obter parâmetros e passá-los client.records.list() manualmente.
Pelo menos um de select(), where()ou top() deve ser chamado antes execute(); caso contrário, um ValueError é gerado para evitar verificações acidentais de tabela completa.
Preterido desde a versão The:by_page o parâmetro foi preterido. Use execute_pages para iteração lenta por página ou simples execute() (sem sinalizador) para o resultado ansioso padrão.
Exemplo:
from PowerPlatform.Dataverse.models import col
for record in (client.query.builder("account")
.select("name")
.where(col("statecode") == 0)
.execute()):
print(record["name"])
execute(*, by_page=<object object>) -> QueryResult | Iterator[QueryResult]
Parâmetros somente de palavra-chave
| Nome | Description |
|---|---|
|
by_page
|
Valor padrão: <object object at 0x0000021A213288E0>
|
Retornos
| Tipo | Description |
|---|---|
|
QueryResult com todas as páginas coletadas (padrão) ou iterador de página (preterido |
Exceções
| Tipo | Description |
|---|---|
|
Se nenhuma |
|
|
Se a consulta não foi criada por meio de |
execute_pages
Rendimento preguiçosamente um QueryResult por página HTTP.
Cada iteração dispara uma solicitação de rede por meio de @odata.nextLink.
Um tiro – não itera mais de uma vez.
Pelo menos um de select(), where()ou top() deve ser chamado antes execute_pages(); caso contrário, um ValueError é gerado para evitar verificações acidentais de tabela completa.
Exemplo:
from PowerPlatform.Dataverse.models import col
for page in (client.query.builder("account")
.select("name")
.where(col("statecode") == 0)
.execute_pages()):
process(page.to_dataframe())
execute_pages() -> Iterator[QueryResult]
Retornos
| Tipo | Description |
|---|---|
|
Iterador de por página QueryResult. |
Exceções
| Tipo | Description |
|---|---|
|
Se nenhuma |
|
|
Se a consulta não foi criada por meio de |
to_dataframe
Execute a consulta e retorne os resultados como um DataFrame pandas.
Preterido desde o uso da versão:QueryBuilder.execute().to_dataframe() Ao invés.
QueryBuilder.to_dataframe() será removido em uma versão futura.
Todas as páginas são consolidadas em um único DataFrame.
Esse método só está disponível quando o QueryBuilder foi criado por meio de client.query.builder(table).
Pelo menos um de select(), where()ou top() deve ser chamado antes to_dataframe(); caso contrário, um ValueError é gerado para evitar verificações acidentais de tabela completa.
Exemplo:
from PowerPlatform.Dataverse.models import col
df = (client.query.builder("account")
.select("name", "telephone1")
.where(col("statecode") == 0)
.top(100)
.execute()
.to_dataframe())
to_dataframe() -> DataFrame
Retornos
| Tipo | Description |
|---|---|
|
DataFrame que contém todos os registros correspondentes. Retorna um DataFrame vazio quando nenhum registro corresponde. |
Exceções
| Tipo | Description |
|---|---|
|
Se nenhuma |
|
|
Se a consulta não foi criada por meio de |