QueryBuilder Classe
Interface fluente para construir e executar consultas OData contra um cliente de sincronização.
Fornece cadeia de métodos para construir consultas complexas com expressões de filtro componíveis. Pode ser usado de forma autónoma (via build()) ou vinculado a um cliente (via execute).
Construtor
QueryBuilder(table: str)
Parâmetros
| Name | Description |
|---|---|
|
table
Necessário
|
Nome do esquema da 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 devolve os resultados. Devolve uma QueryResult com todas as páginas recolhidas. Use execute_pages para iteração preguiçosa por página. Este método só está disponível quando o QueryBuilder foi criado via Pelo menos um dos
Descontinuado desde a versão O: Example:
|
| execute_pages |
Preguiçosamente, dá um QueryResult por página HTTP. Cada iteração desencadeia um pedido de rede através Pelo menos um dos Example:
|
| to_dataframe |
Execute os resultados da consulta e devolve como um DataFrame pandas.
Descontinuado desde a versão Uso: Todas as páginas são consolidadas num único DataFrame. Este método só está disponível quando o QueryBuilder foi criado via Pelo menos um dos Example:
|
execute
Execute a consulta e devolve os resultados.
Devolve uma QueryResult com todas as páginas recolhidas. Use execute_pages para iteração preguiçosa por página.
Este método só está disponível quando o QueryBuilder foi criado via client.query.builder(table). As instâncias autónomas QueryBuilder devem ser usadas build() para obter parâmetros e passá-los client.records.list() manualmente.
Pelo menos um dos select(), , ou top() deve ser chamado antes execute()de ; caso contrário, a ValueError é elevado para evitar varreduras acidentais where()de tabela completa.
Descontinuado desde a versão O:by_page O parâmetro está descontinuado. Use execute_pages para iteração preguiçosa por página, ou simples execute() (sem flag) para o resultado predefinido e ansioso.
Example:
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 Só de Palavra-Chave
| Name | Description |
|---|---|
|
by_page
|
Default value: <object object at 0x0000021A213288E0>
|
Devoluções
| Tipo | Description |
|---|---|
|
QueryResult com todas as páginas recolhidas (por defeito), ou iterador de páginas (obsoleto |
Exceções
| Tipo | Description |
|---|---|
|
Se não |
|
|
Se a consulta não foi criada via |
execute_pages
Preguiçosamente, dá um QueryResult por página HTTP.
Cada iteração desencadeia um pedido de rede através @odata.nextLinkde .
One-shot — não itere mais do que uma vez.
Pelo menos um dos select(), , ou top() deve ser chamado antes execute_pages()de ; caso contrário, a ValueError é elevado para evitar varreduras acidentais where()de tabela completa.
Example:
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]
Devoluções
| Tipo | Description |
|---|---|
|
Iterador de por página QueryResult. |
Exceções
| Tipo | Description |
|---|---|
|
Se não |
|
|
Se a consulta não foi criada via |
to_dataframe
Execute os resultados da consulta e devolve como um DataFrame pandas.
Descontinuado desde a versão Uso:QueryBuilder.execute().to_dataframe() em vez disso.
QueryBuilder.to_dataframe() será removido numa versão futura.
Todas as páginas são consolidadas num único DataFrame.
Este método só está disponível quando o QueryBuilder foi criado via client.query.builder(table).
Pelo menos um dos select(), , ou top() deve ser chamado antes to_dataframe()de ; caso contrário, a ValueError é elevado para evitar varreduras acidentais where()de tabela completa.
Example:
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
Devoluções
| Tipo | Description |
|---|---|
|
DataFrame contendo todos os registos correspondentes. Devolve um DataFrame vazio quando nenhum registo corresponde. |
Exceções
| Tipo | Description |
|---|---|
|
Se não |
|
|
Se a consulta não foi criada via |