batch Module

Espaces de noms d’opération Batch pour le Kit de développement logiciel (SDK) Dataverse.

Classes

BatchDataFrameOperations

Wrappers orientés DataFrame pour les opérations d’enregistrement par lots.

Fournit create, updateet qui acceptent pandas.DataFrame / pandas.Series les entrées et delete les convertissent en dicts standard avant la mise en file d’attente sur le lot. Cela permet aux appelants de science des données de nourrir des DataFrames directement dans un lot sans conversion manuelle.

Accessible via batch.dataframe.

Exemple :


   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

Espace de noms pour les opérations par lots (client.batch).

Accessible via client.batch. Permet new de créer un BatchRequest générateur.

Exemple :


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

Interroger des opérations sur un BatchRequest.

Miroirs client.query exactement : mêmes noms de méthode, mêmes signatures. Tous les retours Nonede méthodes ; les résultats arrivent via BatchResult.

Ne pas instancier directement ; utiliser batch.query.

BatchRecordOperations

Enregistrer les opérations sur un BatchRequest.

Miroirs client.records: mêmes noms de méthode, mêmes signatures. Toutes les méthodes retournent None; les résultats sont disponibles après BatchResultexecute.

Méthodes ga : retrieve (enregistrement unique) et list (multi-enregistrement, page unique). get est déconseillé : utiliser retrieve à la place.

Ne pas instancier directement ; utiliser batch.records.

BatchRequest

Générateur pour la construction et l’exécution d’une requête OData $batch Dataverse.

Obtenir via new (client.batch.new()). Ajoutez des opérations via records, , tablesqueryet , et dataframe, si vous le souhaitez, regroupez les écritures dans un changeset, puis appelez execute.

Les opérations sont exécutées séquentiellement dans l’ordre ajouté. Le résultat BatchResult contient un BatchItemResponse par requête HTTP distribuée (certaines opérations s’étendent à plusieurs requêtes).

Note

1 000 opérations HTTP maximales par lot.

Exemple :


   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

Opérations de métadonnées de table sur un BatchRequest.

Miroirs client.tables exactement : mêmes noms de méthode, mêmes signatures. Tous les retours Nonede méthodes ; les résultats arrivent via BatchResult.

Note

tables.delete, tables.add_columns et tables.remove_columns

exiger une recherche de métadonnées (GET EntityDefinitions) à l’adresse

execute heure de résolution de l’ID de métadonnées de la table.

Cette recherche est transparente pour l’appelant.

Note

tables.add_columns et tables.remove_columns chacun produit un

élément de lot par colonne, de sorte qu’ils contribuent à plusieurs entrées

responses.

Ne pas instancier directement ; utiliser batch.tables.

ChangeSet

Groupe transactionnel d’opérations d’écriture à enregistrement unique.

Toutes les opérations réussissent ou sont restaurées ensemble. Utilisez-le en tant que gestionnaire de contexte ou appelez-le records pour ajouter des opérations directement.

Ne pas instancier directement ; utiliser changeset.

Exemple :


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

Enregistrer les opérations d’écriture disponibles à l’intérieur d’un ChangeSet.

Miroirs, mais limités client.records aux formulaires à enregistrement unique (aucune création/mise à jour/suppression en bloc). Seules les opérations d’écriture sont autorisées : GET n’est pas autorisé à l’intérieur d’un ensemble de modifications.

Ne pas instancier directement ; utiliser ChangeSet.records.