BatchRequest Klasse

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

Konstruktor

BatchRequest(client: DataverseClient)

Parameter

Name Beschreibung
client
Erforderlich

Methoden

changeset

Erstellen Sie eine neue ChangeSet Anlage, die diesem Batch zugeordnet ist.

Das Changeset wird sofort dem Batch hinzugefügt. Vorgänge, die der zurückgegebenen über cs.records.* eine atomare ChangeSet Ausführung hinzugefügt werden.

Beispiel:


   with batch.changeset() as cs:
       cs.records.create("account", {"name": "ACME"})
       cs.records.create("contact", {"firstname": "Bob"})
execute

Senden Sie den Batch an Dataverse, und geben Sie alle Antworten zurück.

changeset

Erstellen Sie eine neue ChangeSet Anlage, die diesem Batch zugeordnet ist.

Das Changeset wird sofort dem Batch hinzugefügt. Vorgänge, die der zurückgegebenen über cs.records.* eine atomare ChangeSet Ausführung hinzugefügt werden.

Beispiel:


   with batch.changeset() as cs:
       cs.records.create("account", {"name": "ACME"})
       cs.records.create("contact", {"firstname": "Bob"})
changeset() -> ChangeSet

Gibt zurück

Typ Beschreibung

Eine neue ChangeSet bereit für den Empfang von Vorgängen.

execute

Senden Sie den Batch an Dataverse, und geben Sie alle Antworten zurück.

execute(*, continue_on_error: bool = False) -> BatchResult

Parameter

Name Beschreibung
continue_on_error
Erforderlich

Bei False (Standard) stoppt Dataverse beim ersten Fehler und gibt den Fehler dieses Vorgangs als 4xx-Antwort zurück. Wenn "True" gesendet wird und Prefer: odata.continue-on-error alle Vorgänge versucht werden.

Nur Schlüsselwortparameter

Name Beschreibung
continue_on_error
Standardwert: False

Gibt zurück

Typ Beschreibung

BatchResult mit einem Eintrag pro HTTP-Vorgang in Übermittlungsreihenfolge.

Ausnahmen

Typ Beschreibung

Wenn der Batch 1000 Vorgänge überschreitet oder ein nicht unterstützter Spaltentyp angegeben wird.

Wenn die Metadatenvorauflösung fehlschlägt (Tabelle oder Spalte nicht gefunden) für tables.deletetables.add_columnstables.remove_columns

Fehler auf HTTP-Ebene (Authentifizierung, Serverfehler usw.), die verhindern, dass der Batch ausgeführt wird.