batch Modul

Batchvorgangsnamespaces 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.