BatchRequest Clase

Generador para construir y ejecutar una solicitud de OData $batch de Dataverse.

Obtener a través new de (client.batch.new()). Agregue operaciones a través recordsde , tables, queryy dataframe, opcionalmente, agrupe las escrituras en y changeset, a continuación, llame a execute.

Las operaciones se ejecutan secuencialmente en el orden agregado. El resultado BatchResult contiene una BatchItemResponse por solicitud HTTP enviada (algunas operaciones se expanden a varias solicitudes).

Nota:

Máximo de 1000 operaciones HTTP por lote.

Ejemplo:


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

Constructor

BatchRequest(client: DataverseClient)

Parámetros

Nombre Description
client
Requerido

Métodos

changeset

Cree un nuevo ChangeSet asociado a este lote.

El conjunto de cambios se agrega al lote inmediatamente. Operaciones agregadas ChangeSet al devuelto a través de cs.records.* la ejecución atómica.

Ejemplo:


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

Envíe el lote a Dataverse y devuelva todas las respuestas.

changeset

Cree un nuevo ChangeSet asociado a este lote.

El conjunto de cambios se agrega al lote inmediatamente. Operaciones agregadas ChangeSet al devuelto a través de cs.records.* la ejecución atómica.

Ejemplo:


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

Devoluciones

Tipo Description

Nuevo ChangeSet listo para recibir operaciones.

execute

Envíe el lote a Dataverse y devuelva todas las respuestas.

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

Parámetros

Nombre Description
continue_on_error
Requerido

Cuando es False (valor predeterminado), Dataverse se detiene en el primer error y devuelve el error de esa operación como respuesta 4xx. Cuando es True, Prefer: odata.continue-on-error se envía y se intentan todas las operaciones.

Parámetros de palabra clave únicamente

Nombre Description
continue_on_error
Valor predeterminado: False

Devoluciones

Tipo Description

BatchResult con una entrada por operación HTTP en orden de envío.

Excepciones

Tipo Description

Si el lote supera las 1000 operaciones o se especifica un tipo de columna no admitido.

Si se produce un error en la resolución previa de metadatos (tabla o columna no encontrada) para tables.deletetables.add_columnstables.remove_columns

En los errores de nivel HTTP (autenticación, error de servidor, etc.) que impiden que el lote se ejecute.