DataverseClient Sınıf
Microsoft Dataverse işlemleri için üst düzey istemci.
Bu istemci, Web API'si aracılığıyla Dataverse ortamlarıyla etkileşime geçmek için basit ve kararlı bir arabirim sağlar. kimlik doğrulamasını Azure Identity aracılığıyla işler ve HTTP işlemlerini bir iç OData istemcisine devreder.
Önemli özellikler:
OData CRUD işlemleri: kayıtları oluşturma, okuma, güncelleştirme, silme
SQL sorguları: Web API
?sqlparametresi aracılığıyla salt okunur SQL yürütmeTablo meta verileri: özel tablolar oluşturma, inceleme ve silme; sütun oluşturma ve silme
Dosya yüklemeleri: Öbekleme desteğiyle dosyaları dosya sütunlarına yükleme
Uyarı
İstemci, iç OData istemcisini ilk kullanımda gevşek bir şekilde başlatır ve anında ağ çağrıları olmadan basit bir yapıya olanak tanır.
Uyarı
Dataverse Web API'siyle iletişim kuran tüm yöntemler
HttpError başarılı olmayan bir
HTTP yanıtları (örn. 401, 403, 404, 429, 500). Tek tek yöntem
docstrings yalnızca etki alanına özgü özel durumları belgeler.
İşlemler ad alanları halinde düzenlenir:
client.records– kayıtları oluşturma, güncelleştirme, silme ve alma (tek veya sayfalandırılmış sorgular)client.query– sorgu ve arama işlemlericlient.tables– tablo ve sütun meta veri yönetimiclient.files– dosya yükleme işlemlericlient.dataframe– kayıt CRUD için pandas DataFrame sarmalayıcılarıclient.batch– birden çok işlemi tek bir HTTP isteğinde toplu işleyin
v0 beta yöntemleri (client.create, client.query_sqlvb.) 1.0 GA'da kaldırıldı. Bir çağrısı artık GA değişimini ve codemod komutunu adlandıran bir iletiyle tetikleniyor AttributeError . Daha önce bu çağrılar geçiş ipucu olmadan bir boşluk AttributeError oluşturmuştu, bu nedenle yarı geçirilen kodun hata ayıklaması zor oldu. Bkz. _REMOVED_BETA_METHODS.
İstemci, otomatik kaynak temizleme ve HTTP bağlantı havuzu için Python bağlam yöneticisi protokolünü destekler:
Oluşturucu
DataverseClient(base_url: str, credential: TokenCredential, config: DataverseConfig | None = None, *, context: OperationContext | None = None)
Parametreler
| Name | Description |
|---|---|
|
base_url
Gerekli
|
Dataverse ortamı URL'niz, örneğin |
|
credential
Gerekli
|
Kimlik doğrulaması için Azure Kimlik bilgileri. |
|
config
|
DataverseConfig veya
None
Dil, zaman aşımları ve yeniden denemeler için isteğe bağlı yapılandırma. Sağlanmadıysa, varsayılanlar 'den from_envyüklenir. Default value: None
|
|
context
Gerekli
|
OperationContext veya
None
Eklenti/araç ilişkilendirmesi için giden |
Yalnızca Anahtar Sözcük Parametreleri
| Name | Description |
|---|---|
|
context
|
Default value: None
|
Örnekler
Önerilen – bağlam yöneticisi (HTTP bağlantı havuzunu etkinleştirir):
from azure.identity import InteractiveBrowserCredential
from PowerPlatform.Dataverse.client import DataverseClient
credential = InteractiveBrowserCredential()
with DataverseClient("https://org.crm.dynamics.com", credential) as client:
record_id = client.records.create("account", {"name": "Contoso Ltd"})
client.records.update("account", record_id, {"telephone1": "555-0100"})
# Session closed, caches cleared automatically
El ile yaşam döngüsü:
client = DataverseClient("https://org.crm.dynamics.com", credential)
try:
record_id = client.records.create("account", {"name": "Contoso Ltd"})
finally:
client.close()
Yöntemler
| close |
İstemciyi kapatın ve kaynakları bırakın. HTTP oturumunu (varsa) kapatır, iç önbellekleri temizler ve istemciyi kapalı olarak işaretler. Birden çok kez arama güvenlidir. Kapatıldıktan sonra, herhangi bir işlem yükseltir RuntimeError. İstemci bağlam yöneticisi olarak kullanılırken otomatik olarak çağrılır. Example:
|
| flush_cache |
Önbelleğe alınmış istemci meta verilerini veya durumunu temizleyin. |
close
İstemciyi kapatın ve kaynakları bırakın.
HTTP oturumunu (varsa) kapatır, iç önbellekleri temizler ve istemciyi kapalı olarak işaretler. Birden çok kez arama güvenlidir. Kapatıldıktan sonra, herhangi bir işlem yükseltir RuntimeError.
İstemci bağlam yöneticisi olarak kullanılırken otomatik olarak çağrılır.
Example:
client = DataverseClient(base_url, credential)
try:
client.records.create("account", {"name": "Contoso"})
finally:
client.close()
close() -> None
flush_cache
Önbelleğe alınmış istemci meta verilerini veya durumunu temizleyin.
flush_cache(kind) -> int
Parametreler
| Name | Description |
|---|---|
|
kind
Gerekli
|
Boşaltmak için önbellek türü. Şu anda desteklenen değerler:
Gelecekteki türlerde (örn. |
Döndürülenler
| Tür | Description |
|---|---|
|
Kaldırılan önbellek girdilerinin sayısı. |
Örnekler
Seçim listesi önbelleğini temizleyin:
removed = client.flush_cache("picklist")
print(f"Cleared {removed} cached picklist entries")