QueryBuilder Osztály
Fluent felület OData-lekérdezések szinkronizálási ügyfélen történő létrehozásához és végrehajtásához.
Metódusláncolást biztosít összetett lekérdezések összeállításához összeállítható szűrőkifejezésekkel. Használható önállóan (keresztül build()) vagy ügyfélhez kötve (keresztül execute).
Konstruktor
QueryBuilder(table: str)
Paraméterek
| Name | Description |
|---|---|
|
table
Kötelező
|
A lekérdezéshez használható táblaséma neve. |
Példák
Önálló lekérdezések felépítése:
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}
Metódusok
| execute |
Hajtsa végre a lekérdezést, és adja vissza az eredményeket. Egy olyan értéket QueryResult ad vissza, amely az összes összegyűjtött oldalt tartalmaz. Laponkénti lusta iterációhoz használható execute_pages . Ez a módszer csak akkor érhető el, ha a QueryBuildert a következővel Legalább az egyiket
Elavult a verzió óta: Example:
|
| execute_pages |
Lazily hozam egy QueryResult HTTP-oldalonként. Minden iteráció elindít egy hálózati kérést a Legalább az egyiket Example:
|
| to_dataframe |
Hajtsa végre a lekérdezést, és adja vissza az eredményeket pandas DataFrame-ként.
Elavult, mivel a verzió használata: Minden lap egyetlen DataFrame-be van összesítve. Ez a módszer csak akkor érhető el, ha a QueryBuildert a következővel Legalább az egyiket Example:
|
execute
Hajtsa végre a lekérdezést, és adja vissza az eredményeket.
Egy olyan értéket QueryResult ad vissza, amely az összes összegyűjtött oldalt tartalmaz. Laponkénti lusta iterációhoz használható execute_pages .
Ez a módszer csak akkor érhető el, ha a QueryBuildert a következővel client.query.builder(table)hozták létre: . Az önálló QueryBuilder példányoknak paraméterek lekérésére és manuális átadására client.records.list() kell használniukbuild().
Legalább az egyiket select()where(), vagy top() előbb execute()kell meghívni; ellenkező esetben ValueError a rendszer a véletlen teljes táblázatos vizsgálat megakadályozása érdekében emeli ki.
Elavult a verzió óta:by_page paraméter elavult. Használjon execute_pages lusta oldalankénti iterációt, vagy egyszerű execute() (nincs jelölő) az alapértelmezett lelkes eredményhez.
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]
Csak kulcsszavas paraméterek
| Name | Description |
|---|---|
|
by_page
|
Alapértelmezett érték: <object object at 0x0000021A213288E0>
|
Válaszok
| Típus | Description |
|---|---|
|
QueryResult az összes összegyűjtött lap (alapértelmezett) vagy a lap iterátorával (elavult |
Kivételek
| Típus | Description |
|---|---|
|
Ha nincs |
|
|
Ha a lekérdezés nem a következővel jött létre: |
execute_pages
Lazily hozam egy QueryResult HTTP-oldalonként.
Minden iteráció elindít egy hálózati kérést a @odata.nextLink.
Egylövetű – ne iterálja többször.
Legalább az egyiket select()where(), vagy top() előbb execute_pages()kell meghívni; ellenkező esetben ValueError a rendszer a véletlen teljes táblázatos vizsgálat megakadályozása érdekében emeli ki.
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]
Válaszok
| Típus | Description |
|---|---|
|
Az oldalenkénti QueryResultiterátor . |
Kivételek
| Típus | Description |
|---|---|
|
Ha nincs |
|
|
Ha a lekérdezés nem a következővel jött létre: |
to_dataframe
Hajtsa végre a lekérdezést, és adja vissza az eredményeket pandas DataFrame-ként.
Elavult, mivel a verzió használata:QueryBuilder.execute().to_dataframe() Helyett.
QueryBuilder.to_dataframe() egy későbbi kiadásban el lesz távolítva.
Minden lap egyetlen DataFrame-be van összesítve.
Ez a módszer csak akkor érhető el, ha a QueryBuildert a következővel client.query.builder(table)hozták létre: .
Legalább az egyiket select()where(), vagy top() előbb to_dataframe()kell meghívni; ellenkező esetben ValueError a rendszer a véletlen teljes táblázatos vizsgálat megakadályozása érdekében emeli ki.
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
Válaszok
| Típus | Description |
|---|---|
|
Az összes egyező rekordot tartalmazó DataFrame. Üres DataFrame-et ad vissza, ha nincsenek egyező rekordok. |
Kivételek
| Típus | Description |
|---|---|
|
Ha nincs |
|
|
Ha a lekérdezés nem a következővel jött létre: |