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
|
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 En az bir
Sürümden bu yana kullanım dışı bırakıldı: Example:
|
| execute_pages |
HTTP sayfası başına bir verim QueryResult elde edin. Her yineleme aracılığıyla En az bir Example:
|
| 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: Tüm sayfalar tek bir DataFrame'de birleştirilir. Bu yöntem yalnızca QueryBuilder aracılığıyla En az bir Example:
|
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 |
Özel durumlar
| Tür | Description |
|---|---|
|
Herhangi bir |
|
|
Sorgu şu şekilde oluşturulmadıysa: |
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 |
|
|
Sorgu şu şekilde oluşturulmadıysa: |
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 |
|
|
Sorgu şu şekilde oluşturulmadıysa: |