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 Esempio:
|
| 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, |
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 |
|
|
In caso di errori a livello HTTP (autenticazione, errore del server e così via) che impediscono l'esecuzione del batch. |