BatchRequest Classe

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

Constructeur

BatchRequest(client: DataverseClient)

Paramètres

Nom Description
client
Obligatoire

Méthodes

changeset

Créez un nouveau ChangeSet joint à ce lot.

Le jeu de modifications est ajouté immédiatement au lot. Opérations ajoutées au retour ChangeSet via cs.records.* l’exécution atomique.

Exemple :


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

Envoyez le lot à Dataverse et renvoyez toutes les réponses.

changeset

Créez un nouveau ChangeSet joint à ce lot.

Le jeu de modifications est ajouté immédiatement au lot. Opérations ajoutées au retour ChangeSet via cs.records.* l’exécution atomique.

Exemple :


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

Retours

Type Description

Nouveau ChangeSet prêt à recevoir des opérations.

execute

Envoyez le lot à Dataverse et renvoyez toutes les réponses.

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

Paramètres

Nom Description
continue_on_error
Obligatoire

Lorsque la valeur est False (valeur par défaut), Dataverse s’arrête au premier échec et retourne l’erreur de cette opération en tant que réponse 4xx. Lorsque la valeur est True, Prefer: odata.continue-on-error est envoyée et toutes les opérations sont tentées.

Paramètres de mot clé uniquement

Nom Description
continue_on_error
Valeur par défaut: False

Retours

Type Description

BatchResult avec une entrée par opération HTTP dans l’ordre de soumission.

Exceptions

Type Description

Si le lot dépasse 1 000 opérations ou qu’un type de colonne non pris en charge est spécifié.

Si la pré-résolution des métadonnées échoue (table ou colonne introuvable) pour tables.deletetables.add_columnstables.remove_columns

Sur les échecs au niveau HTTP (authentification, erreur du serveur, etc.) qui empêchent l’exécution du lot.