QueryBuilder Classe
Interface Fluent pour la création et l’exécution de requêtes OData sur un client de synchronisation.
Fournit un chaînage de méthodes pour construire des requêtes complexes avec des expressions de filtre composables. Peut être utilisé autonome (via build()) ou lié à un client (via execute).
Constructeur
QueryBuilder(table: str)
Paramètres
| Nom | Description |
|---|---|
|
table
Obligatoire
|
Nom du schéma de table à interroger. |
Exemples
Construction de requête autonome :
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éthodes
| execute |
Exécutez la requête et retournez les résultats. Retourne une QueryResult valeur avec toutes les pages collectées. Utiliser execute_pages pour l’itération par page différée. Cette méthode est disponible uniquement lorsque le QueryBuilder a été créé via Au moins un de
Déconseillé depuis la version : Exemple :
|
| execute_pages |
Donnez-en un QueryResult par page HTTP. Chaque itération déclenche une requête réseau via Au moins un de Exemple :
|
| to_dataframe |
Exécutez la requête et retournez les résultats sous forme de DataFrame pandas.
Déconseillé depuis l’utilisation de la version : Toutes les pages sont consolidées dans un seul DataFrame. Cette méthode est disponible uniquement lorsque le QueryBuilder a été créé via Au moins un de Exemple :
|
execute
Exécutez la requête et retournez les résultats.
Retourne une QueryResult valeur avec toutes les pages collectées. Utiliser execute_pages pour l’itération par page différée.
Cette méthode est disponible uniquement lorsque le QueryBuilder a été créé via client.query.builder(table). Les instances autonomes QueryBuilder doivent être utilisées build() pour obtenir des paramètres et les client.records.list() transmettre manuellement.
Au moins un de select(), where()ou top() doit être appelé avant execute(); sinon, un ValueError élément est déclenché pour empêcher les analyses accidentelles de table complète.
Déconseillé depuis la version :by_page le paramètre est déconseillé. Utiliser execute_pages pour l’itération par page différée ou simple execute() (aucun indicateur) pour le résultat par défaut.
Exemple :
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]
Paramètres de mot clé uniquement
| Nom | Description |
|---|---|
|
by_page
|
Valeur par défaut: <object object at 0x0000021A213288E0>
|
Retours
| Type | Description |
|---|---|
|
QueryResultavec toutes les pages collectées (par défaut) ou itérateur de page (déconseillé). |
Exceptions
| Type | Description |
|---|---|
|
Si aucune contrainte n’a |
|
|
Si la requête n’a pas été créée via |
execute_pages
Donnez-en un QueryResult par page HTTP.
Chaque itération déclenche une requête réseau via @odata.nextLink.
One-shot - ne pas itérer plusieurs fois.
Au moins un de select(), where()ou top() doit être appelé avant execute_pages(); sinon, un ValueError élément est déclenché pour empêcher les analyses accidentelles de table complète.
Exemple :
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]
Retours
| Type | Description |
|---|---|
|
Itérateur de chaque page QueryResult. |
Exceptions
| Type | Description |
|---|---|
|
Si aucune contrainte n’a |
|
|
Si la requête n’a pas été créée via |
to_dataframe
Exécutez la requête et retournez les résultats sous forme de DataFrame pandas.
Déconseillé depuis l’utilisation de la version :QueryBuilder.execute().to_dataframe() Place.
QueryBuilder.to_dataframe() sera supprimé dans une prochaine version.
Toutes les pages sont consolidées dans un seul DataFrame.
Cette méthode est disponible uniquement lorsque le QueryBuilder a été créé via client.query.builder(table).
Au moins un de select(), where()ou top() doit être appelé avant to_dataframe(); sinon, un ValueError élément est déclenché pour empêcher les analyses accidentelles de table complète.
Exemple :
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
Retours
| Type | Description |
|---|---|
|
DataFrame contenant tous les enregistrements correspondants. Retourne un DataFrame vide lorsqu’aucun enregistrement ne correspond. |
Exceptions
| Type | Description |
|---|---|
|
Si aucune contrainte n’a |
|
|
Si la requête n’a pas été créée via |