operations Pakiet

Przestrzenie nazw operacji dla zestawu Dataverse SDK.

Ten moduł zawiera klasy przestrzeni nazw operacji, które organizują operacje zestawu SDK w grupy logiczne: rekordy, zapytania i tabele.

Moduły

batch

Przestrzenie nazw operacji usługi Batch dla zestawu SDK usługi Dataverse.

dataframe

Przestrzeń nazw operacji CRUD ramki danych dla zestawu Dataverse SDK.

files

Przestrzeń nazw operacji na plikach dla zestawu Dataverse SDK.

query

Przestrzeń nazw operacji zapytań dla zestawu Dataverse SDK.

records

Rejestrowanie przestrzeni nazw operacji CRUD dla zestawu Dataverse SDK.

tables

Przestrzeń nazw operacji metadanych tabeli dla zestawu Dataverse SDK.

Klasy

BatchDataFrameOperations

Otoki zorientowane na ramki danych na potrzeby operacji rekordów wsadowych.

Udostępnia createelement , updatei , który delete akceptuje pandas.DataFrame / pandas.Series dane wejściowe i konwertuje je na standardowe dykty przed kolejkowaniem w partii. Dzięki temu osoby wywołujące dane są przekazywane bezpośrednio do partii bez ręcznej konwersji.

Dostęp jest uzyskiwany za pośrednictwem batch.dataframe.

Example:


   import pandas as pd

   batch = client.batch.new()
   df = pd.DataFrame([
       {"name": "Contoso", "telephone1": "555-0100"},
       {"name": "Fabrikam", "telephone1": "555-0200"},
   ])
   batch.dataframe.create("account", df)
   result = batch.execute()
BatchOperations

Przestrzeń nazw dla operacji wsadowych (client.batch).

Dostęp jest uzyskiwany za pośrednictwem client.batch. Użyj new polecenia , aby utworzyć konstruktora BatchRequest .

Example:


   batch = client.batch.new()
   batch.records.create("account", {"name": "Fabrikam"})
   result = batch.execute()
BatchQueryOperations

Operacje zapytań na obiekcie BatchRequest.

Dublowania client.query dokładnie: te same nazwy metod, te same podpisy. Wszystkie metody zwracają None; wyniki docierają za pośrednictwem metody BatchResult.

Nie twórz wystąpień bezpośrednio; użyj polecenia batch.query.

BatchRecordOperations

Rejestrowanie operacji na obiekcie BatchRequest.

Dublowania client.records: te same nazwy metod, te same podpisy. Wszystkie metody zwracają None; wyniki są dostępne za pośrednictwem BatchResult polecenia po execute.

Metody ga: retrieve (pojedynczy rekord) i list (wiele rekordów, pojedyncza strona). get jest przestarzały — zamiast tego użyj polecenia retrieve .

Nie twórz wystąpień bezpośrednio; użyj polecenia batch.records.

BatchRequest

Konstruktor do konstruowania i wykonywania żądania dataverse OData $batch .

Uzyskaj za pośrednictwem new (client.batch.new()). Dodaj operacje za pomocą recordspoleceń , , querytablesi dataframe, opcjonalnie grupuj zapisy do elementu , a następnie wywołaj metodę changesetexecute.

Operacje są wykonywane sekwencyjnie w kolejności dodanej. BatchResult Wynikowy zawiera jeden BatchItemResponse na żądanie HTTP wysłane (niektóre operacje rozszerzają się na wiele żądań).

Note

Maksymalna liczba operacji HTTP na partię wynosi 1000.

Example:


   batch = client.batch.new()
   batch.records.create("account", {"name": "Contoso"})
   batch.tables.get("account")
   with batch.changeset() as cs:
       ref = cs.records.create("contact", {"firstname": "Alice"})
       cs.records.update("account", account_id, {
           "primarycontactid@odata.bind": ref
       })
   result = batch.execute()
BatchTableOperations

Operacje metadanych tabeli na obiekcie BatchRequest.

Dublowania client.tables dokładnie: te same nazwy metod, te same podpisy. Wszystkie metody zwracają None; wyniki docierają za pośrednictwem metody BatchResult.

Note

tables.delete, tables.add_columns i tables.remove_columns

wymagaj wyszukiwania metadanych (GET EntityDefinitions) pod adresem

execute time to resolve the table's MetadataId (Identyfikator metadanych tabeli).

To wyszukiwanie jest niewidoczne dla elementu wywołującego.

Note

tables.add_columns i tables.remove_columns każda z nich tworzy jedną

element wsadowy na kolumnę, aby współtworzyć wiele wpisów

responses.

Nie twórz wystąpień bezpośrednio; użyj polecenia batch.tables.

ChangeSet

Transakcyjna grupa operacji zapisu z jednym rekordem.

Wszystkie operacje kończą się powodzeniem lub są przywracane razem. Użyj jako menedżera kontekstu lub wywołania records , aby dodać operacje bezpośrednio.

Nie twórz wystąpień bezpośrednio; użyj polecenia changeset.

Example:


   with batch.changeset() as cs:
       ref = cs.records.create("contact", {"firstname": "Alice"})
       cs.records.update("account", account_id, {
           "primarycontactid@odata.bind": ref
       })
ChangeSetRecordOperations

Rejestruj operacje zapisu dostępne wewnątrz elementu ChangeSet.

Dublowania, ale ograniczone do formularzy client.records z pojedynczym rekordem (nie można tworzyć/aktualizować/usuwać zbiorczo). Dozwolone są tylko operacje zapisu — funkcja GET nie jest dozwolona wewnątrz zestawu zmian.

Nie twórz wystąpień bezpośrednio; użyj polecenia ChangeSet.records.

DataFrameOperations

Przestrzeń nazw dla operacji CRUD ramki danych pandas.

Dostęp jest uzyskiwany za pośrednictwem client.dataframe. Udostępnia otoki zorientowane na ramki danych wokół operacji CRUD na poziomie rekordu.

Example:


   import pandas as pd

   client = DataverseClient(base_url, credential)

   # Query records as a DataFrame
   df = client.dataframe.get("account", select=["name"], top=100)

   # Create records from a DataFrame
   new_df = pd.DataFrame([{"name": "Contoso"}, {"name": "Fabrikam"}])
   new_df["accountid"] = client.dataframe.create("account", new_df)

   # Update records
   new_df["telephone1"] = ["555-0100", "555-0200"]
   client.dataframe.update("account", new_df, id_column="accountid")

   # Delete records
   client.dataframe.delete("account", new_df["accountid"])
FileOperations

Przestrzeń nazw dla operacji na plikach.

Dostęp jest uzyskiwany za pośrednictwem client.files. Udostępnia operacje przekazywania plików dla kolumn plików Dataverse.

Example:


   client = DataverseClient(base_url, credential)

   client.files.upload(
       "account", account_id, "new_Document", "/path/to/file.pdf"
   )
QueryOperations

Przestrzeń nazw dla operacji zapytań.

Dostęp jest uzyskiwany za pośrednictwem client.query. Udostępnia operacje zapytań i wyszukiwania względem tabel usługi Dataverse.

Example:


   from PowerPlatform.Dataverse.models.filters import col

   client = DataverseClient(base_url, credential)

   # Fluent query builder (recommended)
   for record in (client.query.builder("account")
                  .select("name", "revenue")
                  .where(col("statecode") == 0)
                  .order_by("revenue", descending=True)
                  .top(100)
                  .execute()):
       print(record["name"])

   # SQL query
   rows = client.query.sql("SELECT TOP 10 name FROM account ORDER BY name")
   for row in rows:
       print(row["name"])
RecordOperations

Przestrzeń nazw dla operacji CRUD na poziomie rekordu.

Dostęp jest uzyskiwany za pośrednictwem client.records. Zapewnia operacje tworzenia, aktualizowania, usuwania i pobierania poszczególnych rekordów usługi Dataverse.

Example:


   client = DataverseClient(base_url, credential)

   # Create a single record
   guid = client.records.create("account", {"name": "Contoso Ltd"})

   # Get a record
   record = client.records.get("account", guid, select=["name"])

   # Update a record
   client.records.update("account", guid, {"telephone1": "555-0100"})

   # Delete a record
   client.records.delete("account", guid)
TableOperations

Przestrzeń nazw dla operacji metadanych na poziomie tabeli.

Dostęp jest uzyskiwany za pośrednictwem client.tables. Udostępnia operacje tworzenia, usuwania, inspekcji i wyświetlania listy tabel usługi Dataverse, a także dodawania i usuwania kolumn.

Example:


   client = DataverseClient(base_url, credential)

   # Create a table
   info = client.tables.create(
       "new_Product",
       {"new_Price": "decimal", "new_InStock": "bool"},
       solution="MySolution",
   )

   # List tables
   tables = client.tables.list()

   # Get table info
   info = client.tables.get("new_Product")

   # Add columns
   client.tables.add_columns("new_Product", {"new_Rating": "int"})

   # Remove columns
   client.tables.remove_columns("new_Product", "new_Rating")

   # Delete a table
   client.tables.delete("new_Product")