QueryBuilder Sınıf

Eşitleme istemcisinde OData sorguları oluşturmak ve yürütmek için akıcı arabirim.

Birleştirilebilir filtre ifadeleriyle karmaşık sorgular oluşturmak için yöntem zinciri sağlar. Tek başına kullanılabilir (aracılığıyla build()) veya bir istemciye bağlanabilir (aracılığıyla execute).

Oluşturucu

QueryBuilder(table: str)

Parametreler

Name Description
table
Gerekli
str

Sorgu için tablo şeması adı.

Örnekler

Tek başına sorgu oluşturma:


   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}

Yöntemler

execute

Sorguyu yürütür ve sonuçları döndürür.

Toplanan tüm sayfaları içeren bir QueryResult döndürür. Yavaş sayfa başına yineleme için kullanın execute_pages .

Bu yöntem yalnızca QueryBuilder aracılığıyla client.query.builder(table)oluşturulduğunda kullanılabilir. Tek başına QueryBuilder örnekler parametreleri almak ve el ile geçirmek için client.records.list() kullanmalıdırbuild().

En az bir select(), where()veya top() daha önce execute()çağrılmalıdır; aksi takdirde yanlışlıkla tam tablo taramalarını önlemek için bir ValueError tetiklenir.

Sürümden bu yana kullanım dışı bırakıldı:by_page parametresi kullanım dışı bırakıldı. Sayfa başına gecikmeli yineleme için veya varsayılan istekli sonuç için düz execute() (bayrak yok) kullanınexecute_pages.

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

HTTP sayfası başına bir verim QueryResult elde edin.

Her yineleme aracılığıyla @odata.nextLinkbir ağ isteği tetikler. Tek seferlik— birden çok kez yinelemeyin.

En az bir select(), where()veya top() daha önce execute_pages()çağrılmalıdır; aksi takdirde yanlışlıkla tam tablo taramalarını önlemek için bir ValueError tetiklenir.

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

Sorguyu yürütür ve sonuçları pandas DataFrame olarak döndürür.

Sürüm kullanımdan kaldırıldı Kullanım:QueryBuilder.execute().to_dataframe() Yer -ine. QueryBuilder.to_dataframe() sonraki bir sürümde kaldırılacaktır.

Tüm sayfalar tek bir DataFrame'de birleştirilir.

Bu yöntem yalnızca QueryBuilder aracılığıyla client.query.builder(table)oluşturulduğunda kullanılabilir.

En az bir select(), where()veya top() daha önce to_dataframe()çağrılmalıdır; aksi takdirde yanlışlıkla tam tablo taramalarını önlemek için bir ValueError tetiklenir.

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

Sorguyu yürütür ve sonuçları döndürür.

Toplanan tüm sayfaları içeren bir QueryResult döndürür. Yavaş sayfa başına yineleme için kullanın execute_pages .

Bu yöntem yalnızca QueryBuilder aracılığıyla client.query.builder(table)oluşturulduğunda kullanılabilir. Tek başına QueryBuilder örnekler parametreleri almak ve el ile geçirmek için client.records.list() kullanmalıdırbuild().

En az bir select(), where()veya top() daha önce execute()çağrılmalıdır; aksi takdirde yanlışlıkla tam tablo taramalarını önlemek için bir ValueError tetiklenir.

Sürümden bu yana kullanım dışı bırakıldı:by_page parametresi kullanım dışı bırakıldı. Sayfa başına gecikmeli yineleme için veya varsayılan istekli sonuç için düz execute() (bayrak yok) kullanınexecute_pages.

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]

Yalnızca Anahtar Sözcük Parametreleri

Name Description
by_page
Default value: <object object at 0x0000021A213288E0>

Döndürülenler

Tür Description

QueryResult tüm sayfaların toplandığı (varsayılan) veya sayfa yineleyicisi (kullanım by_page=Truedışı) ile.

Özel durumlar

Tür Description

Herhangi bir selectwheretop kısıtlama ayarlanmamışsa.

Sorgu şu şekilde oluşturulmadıysa: client.query.builder()

execute_pages

HTTP sayfası başına bir verim QueryResult elde edin.

Her yineleme aracılığıyla @odata.nextLinkbir ağ isteği tetikler. Tek seferlik— birden çok kez yinelemeyin.

En az bir select(), where()veya top() daha önce execute_pages()çağrılmalıdır; aksi takdirde yanlışlıkla tam tablo taramalarını önlemek için bir ValueError tetiklenir.

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]

Döndürülenler

Tür Description

Sayfa QueryResultbaşına yineleyici.

Özel durumlar

Tür Description

Herhangi bir selectwheretop kısıtlama ayarlanmamışsa.

Sorgu şu şekilde oluşturulmadıysa: client.query.builder()

to_dataframe

Sorguyu yürütür ve sonuçları pandas DataFrame olarak döndürür.

Sürüm kullanımdan kaldırıldı Kullanım:QueryBuilder.execute().to_dataframe() Yer -ine. QueryBuilder.to_dataframe() sonraki bir sürümde kaldırılacaktır.

Tüm sayfalar tek bir DataFrame'de birleştirilir.

Bu yöntem yalnızca QueryBuilder aracılığıyla client.query.builder(table)oluşturulduğunda kullanılabilir.

En az bir select(), where()veya top() daha önce to_dataframe()çağrılmalıdır; aksi takdirde yanlışlıkla tam tablo taramalarını önlemek için bir ValueError tetiklenir.

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

Döndürülenler

Tür Description

Eşleşen tüm kayıtları içeren DataFrame. Hiçbir kayıt eşleşmediğinde boş bir DataFrame döndürür.

Özel durumlar

Tür Description

Herhangi bir selectwheretop kısıtlama ayarlanmamışsa.

Sorgu şu şekilde oluşturulmadıysa: client.query.builder()