operations Paket

Vorgangsnamespaces für das Dataverse SDK.

Dieses Modul enthält die Vorgangsnamespaceklassen, die SDK-Vorgänge in logische Gruppen organisieren: Datensätze, Abfragen und Tabellen.

Module

batch

Batchvorgangsnamespaces für das Dataverse SDK.

dataframe

DataFrame CRUD-Operationsnamespace für das Dataverse SDK.

files

Dateioperationsnamespace für das Dataverse SDK.

query

Abfrageoperationsnamespace für das Dataverse SDK.

records

Record CRUD operations namespace for the Dataverse SDK.

tables

Namespace für Tabellenmetadatenvorgänge für das Dataverse SDK.

Klassen

BatchDataFrameOperations

DataFrame-orientierte Wrapper für Batchdatensatzvorgänge.

Stellt createEingaben updatebereit, die delete Eingaben akzeptieren pandas.DataFrame / pandas.Series und in Standarddicts konvertieren, bevor sie für den Batch enqueueing ausgeführt werden. Auf diese Weise können Datenwissenschaftliche Aufrufer DataFrames direkt in einen Batch ohne manuelle Konvertierung übertragen.

Zugriff über batch.dataframe.

Beispiel:


   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

Namespace für Batchvorgänge (client.batch).

Zugriff über client.batch. Dient new zum Erstellen eines BatchRequest Generators.

Beispiel:


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

Abfragevorgänge für ein BatchRequest.

Spiegelt client.query genau: dieselben Methodennamen, dieselben Signaturen. Alle Methoden geben zurück None; Ergebnisse kommen über BatchResult.

Instanziieren Sie nicht direkt; verwenden batch.query.

BatchRecordOperations

Aufzeichnen von Vorgängen in einem BatchRequest.

Spiegelung : client.recordsdieselben Methodennamen, dieselben Signaturen. Alle Methoden geben zurück None; Ergebnisse sind über BatchResult die Folgenden executeverfügbar.

GA-Methoden: retrieve (einzelner Datensatz) und list (Mehrere Datensätze, einzelseitige Seite). get ist veraltet – stattdessen verwenden retrieve .

Instanziieren Sie nicht direkt; verwenden batch.records.

BatchRequest

Generator zum Erstellen und Ausführen einer Dataverse OData-Anforderung $batch .

Abrufen über new (client.batch.new()). Fügen Sie Vorgänge über , , , und dataframe, optional gruppieren Sie Schreibvorgänge in ein changeset, und rufen Sie dann aufexecute. querytablesrecords

Vorgänge werden sequenziell in der hinzugefügten Reihenfolge ausgeführt. Das Ergebnis BatchResult enthält eine BatchItemResponse pro verteilte HTTP-Anforderung (einige Vorgänge werden auf mehrere Anforderungen erweitert).

Hinweis

Maximal 1000 HTTP-Vorgänge pro Batch.

Beispiel:


   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

Tabellenmetadatenvorgänge in einem BatchRequest.

Spiegelt client.tables genau: dieselben Methodennamen, dieselben Signaturen. Alle Methoden geben zurück None; Ergebnisse kommen über BatchResult.

Hinweis

tables.delete, tables.add_columns und tables.remove_columns

erfordern eine Metadatensuche (GET EntityDefinitions) unter

execute Zeit, um die MetadataId der Tabelle aufzulösen.

Dieser Nachschlagevorgang ist für den Aufrufer transparent.

Hinweis

tables.add_columns und tables.remove_columns die einzelnen Produkte

Batchelement pro Spalte, sodass sie mehrere Einträge beisteuern

responses.

Instanziieren Sie nicht direkt; verwenden batch.tables.

ChangeSet

Eine transaktionsbezogene Gruppe von Schreibvorgängen mit einem Datensatz.

Alle Vorgänge sind erfolgreich oder werden zurückgesetzt. Verwenden Sie den Kontext-Manager oder den Aufruf records , um Vorgänge direkt hinzuzufügen.

Instanziieren Sie nicht direkt; verwenden changeset.

Beispiel:


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

Datensatzschreibvorgänge, die in einer ChangeSet.

Spiegelungen client.records , jedoch auf Formulare mit nur einem Datensatz beschränkt (keine Massenerstellung/Aktualisierung/Löschung). Nur Schreibvorgänge sind zulässig – GET ist in einem Changeet nicht zulässig.

Instanziieren Sie nicht direkt; verwenden ChangeSet.records.

DataFrameOperations

Namespace für Pandas DataFrame CRUD-Vorgänge.

Zugriff über client.dataframe. Stellt DataFrame-orientierte Wrapper um die CRUD-Vorgänge auf Datensatzebene bereit.

Beispiel:


   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

Namespace für Dateivorgänge.

Zugriff über client.files. Stellt Dateiuploadvorgänge für Dataverse-Dateispalten bereit.

Beispiel:


   client = DataverseClient(base_url, credential)

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

Namespace für Abfragevorgänge.

Zugriff über client.query. Stellt Abfrage- und Suchvorgänge für Dataverse-Tabellen bereit.

Beispiel:


   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

Namespace für CRUD-Vorgänge auf Datensatzebene.

Zugriff über client.records. Stellt Vorgänge zum Erstellen, Aktualisieren, Löschen und Abrufen von Vorgängen für einzelne Dataverse-Datensätze bereit.

Beispiel:


   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

Namespace für Metadatenvorgänge auf Tabellenebene.

Zugriff über client.tables. Stellt Vorgänge zum Erstellen, Löschen, Überprüfen und Auflisten von Dataverse-Tabellen sowie zum Hinzufügen und Entfernen von Spalten bereit.

Beispiel:


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