DataverseClient Osztály

Magas szintű ügyfél a Microsoft Dataverse-műveletekhez.

Ez az ügyfél egy egyszerű, stabil felületet biztosít a Dataverse-környezetek webes API-val való kezeléséhez. A hitelesítést Azure Identitáson keresztül kezeli, és HTTP-műveleteket delegál egy belső OData-ügyfélnek.

Főbb képességek:

  • OData CRUD-műveletek: rekordok létrehozása, olvasása, frissítése, törlése

  • SQL-lekérdezések: írásvédett SQL végrehajtása webes API-paraméteren ?sql keresztül

  • Tábla metaadatai: egyéni táblák létrehozása, vizsgálata és törlése; oszlopok létrehozása és törlése

  • Fájlfeltöltések: fájlok feltöltése fájloszlopokra adattömb-támogatással

Megjegyzés:

Az ügyfél lazán inicializálja a belső OData-ügyfelet az első használatkor, lehetővé téve a könnyű konstrukciót azonnali hálózati hívások nélkül.

Megjegyzés:

A Dataverse Web API-val kommunikáló összes metódus

HttpError nem sikeres

HTTP-válaszok (pl. 401, 403, 404, 429, 500). Egyéni módszer

A dokumentum csak tartományspecifikus kivételeket tartalmaz.

A műveletek névterekbe vannak rendezve:

  • client.records – rekordok létrehozása, frissítése, törlése és lekérése (egy- vagy többoldalas lekérdezések)

  • client.query – lekérdezési és keresési műveletek

  • client.tables – tábla- és oszlop metaadatok kezelése

  • client.files – fájlfeltöltési műveletek

  • client.dataframe – pandas DataFrame-burkolók a CRUD rekordhoz

  • client.batch – több művelet kötegelése egyetlen HTTP-kérelembe

A v0 bétametenek (client.createstb client.query_sql.) eltávolítása az 1.0 GA-ban megtörtént. Az egyik hívás most egy üzenettel jelenik AttributeError meg, amely a GA-csere és a kódmod parancs elnevezését tartalmazza – korábban ezek a hívások nem adták meg a migrálási tippet, ezért a félig migrált kód hibakeresése AttributeError fájdalmas volt. Lásd: _REMOVED_BETA_METHODS.

Az ügyfél támogatja Python környezetkezelő protokollját az automatikus erőforrás-törléshez és a HTTP-kapcsolatkészletezéshez:

Konstruktor

DataverseClient(base_url: str, credential: TokenCredential, config: DataverseConfig | None = None, *, context: OperationContext | None = None)

Paraméterek

Name Description
base_url
Kötelező
str

A Dataverse-környezet URL-címe, például "https://org.crm.dynamics.com". A záró perjel automatikusan törlődik.

credential
Kötelező

Azure Identity hitelesítő adatok hitelesítéshez.

config

A nyelv, az időtúllépések és az újrapróbálkozások opcionális konfigurációja. Ha nincs megadva, a rendszer betölti az alapértelmezett értékeket.from_env

Alapértelmezett érték: None
context
Kötelező

Nem kötelező hívó által definiált környezeti objektum hozzáfűzve a kimenő User-Agent fejléchez a beépülő modul/eszköz hozzárendeléséhez. Nem használható együtt – config adja át a környezet DataverseConfig helyett.

Csak kulcsszavas paraméterek

Name Description
context
Alapértelmezett érték: None

Példák

Ajánlott – környezetkezelő (http-kapcsolatkészletezést tesz lehetővé):


   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

Manuális életciklus:


   client = DataverseClient("https://org.crm.dynamics.com", credential)
   try:
       record_id = client.records.create("account", {"name": "Contoso Ltd"})
   finally:
       client.close()

Metódusok

close

Zárja be az ügyfelet, és engedje fel az erőforrásokat.

Bezárja a HTTP-munkamenetet (ha van ilyen), törli a belső gyorsítótárakat, és bezártként jelöli meg az ügyfelet. Nyugodtan hívhat többször is. A zárás után minden művelet fel fog emelkedni RuntimeError.

Az ügyfél környezetkezelőként való használatakor automatikusan meghívva.

Example:


   client = DataverseClient(base_url, credential)
   try:
       client.records.create("account", {"name": "Contoso"})
   finally:
       client.close()
flush_cache

Gyorsítótárazott ügyfél metaadatainak vagy állapotának kiürítése.

close

Zárja be az ügyfelet, és engedje fel az erőforrásokat.

Bezárja a HTTP-munkamenetet (ha van ilyen), törli a belső gyorsítótárakat, és bezártként jelöli meg az ügyfelet. Nyugodtan hívhat többször is. A zárás után minden művelet fel fog emelkedni RuntimeError.

Az ügyfél környezetkezelőként való használatakor automatikusan meghívva.

Example:


   client = DataverseClient(base_url, credential)
   try:
       client.records.create("account", {"name": "Contoso"})
   finally:
       client.close()
close() -> None

flush_cache

Gyorsítótárazott ügyfél metaadatainak vagy állapotának kiürítése.

flush_cache(kind) -> int

Paraméterek

Name Description
kind
Kötelező
str

A gyorsítótár típusa a kiürítéshez. Jelenleg támogatott értékek:

  • "picklist": Törli a címkék egész számmá alakításához használt picklist címkegyorsítótárat

A jövőbeli típusokat (pl. "entityset", "primaryid") az aláírás megszegése nélkül lehet hozzáadni.

Válaszok

Típus Description
int

Az eltávolított gyorsítótárbejegyzések száma.

Példák

Törölje a picklist-gyorsítótárat:


   removed = client.flush_cache("picklist")
   print(f"Cleared {removed} cached picklist entries")