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 ?sql parametresi aracılığıyla salt okunur SQL yürütme

  • Tablo 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şlemleri

  • client.tables – tablo ve sütun meta veri yönetimi

  • client.files – dosya yükleme işlemleri

  • client.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
str

Dataverse ortamı URL'niz, örneğin "https://org.crm.dynamics.com". Sondaki eğik çizgi otomatik olarak kaldırılır.

credential
Gerekli

Kimlik doğrulaması için Azure Kimlik bilgileri.

config

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

Eklenti/araç ilişkilendirmesi için giden User-Agent üst bilgisine eklenen isteğe bağlı arayan tanımlı bağlam nesnesi. ile config birlikte kullanılamaz; bunun yerine bağlamı üzerinden DataverseConfig geçirin.

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:


   client = DataverseClient(base_url, credential)
   try:
       client.records.create("account", {"name": "Contoso"})
   finally:
       client.close()
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
str

Boşaltmak için önbellek türü. Şu anda desteklenen değerler:

  • "picklist": Etiketten tamsayıya dönüştürme için kullanılan seçim listesi etiket önbelleğini temizler

Gelecekteki türlerde (örn. "entityset", "primaryid") bu imza bozulmadan eklenebilir.

Döndürülenler

Tür Description
int

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")