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ő
str

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 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_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())
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())

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 by_page=True).

Kivételek

Típus Description

Ha nincs selectwheretop megkötés beállítva.

Ha a lekérdezés nem a következővel jött létre: client.query.builder()

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 selectwheretop megkötés beállítva.

Ha a lekérdezés nem a következővel jött létre: client.query.builder()

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 selectwheretop megkötés beállítva.

Ha a lekérdezés nem a következővel jött létre: client.query.builder()