BatchRequest Classe

Generatore per la costruzione e l'esecuzione di una richiesta OData $batch dataverse.

Ottenere tramite new (client.batch.new()). Aggiungere operazioni tramite records, tablesquery, e dataframe, facoltativamente raggruppare le scritture in un changesetoggetto , quindi chiamare execute.

Le operazioni vengono eseguite in sequenza nell'ordine aggiunto. Il risultato BatchResult contiene uno BatchItemResponse per ogni richiesta HTTP inviata (alcune operazioni si espandono a più richieste).

Note

Massimo 1000 operazioni HTTP per batch.

Esempio:


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

Costruttore

BatchRequest(client: DataverseClient)

Parametri

Nome Descrizione
client
Necessario

Metodi

changeset

Creare un nuovo ChangeSet allegato a questo batch.

Il set di modifiche viene aggiunto immediatamente al batch. Operazioni aggiunte all'oggetto restituito ChangeSet tramite cs.records.* l'esecuzione atomica.

Esempio:


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

Inviare il batch a Dataverse e restituire tutte le risposte.

changeset

Creare un nuovo ChangeSet allegato a questo batch.

Il set di modifiche viene aggiunto immediatamente al batch. Operazioni aggiunte all'oggetto restituito ChangeSet tramite cs.records.* l'esecuzione atomica.

Esempio:


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

Valori restituiti

Tipo Descrizione

ChangeSet Nuovo pronto per ricevere le operazioni.

execute

Inviare il batch a Dataverse e restituire tutte le risposte.

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

Parametri

Nome Descrizione
continue_on_error
Necessario

Se False (impostazione predefinita), Dataverse si arresta al primo errore e restituisce l'errore dell'operazione come risposta 4xx. Quando True, Prefer: odata.continue-on-error viene inviato e vengono tentate tutte le operazioni.

Parametri di sole parole chiave

Nome Descrizione
continue_on_error
Valore predefinito: False

Valori restituiti

Tipo Descrizione

BatchResult con una voce per operazione HTTP nell'ordine di invio.

Eccezioni

Tipo Descrizione

Se il batch supera 1000 operazioni o viene specificato un tipo di colonna non supportato.

Se la risoluzione preliminare dei metadati ha esito negativo (tabella o colonna non trovata) per tables.deletetables.add_columnstables.remove_columns

In caso di errori a livello HTTP (autenticazione, errore del server e così via) che impediscono l'esecuzione del batch.