BatchRequest Classe

Construtor para construir e executar uma solicitação OData $batch do Dataverse.

Obter via new (client.batch.new()). Adicione operações por meio de , tables, e dataframequery, opcionalmente, agrupar gravações em um changesete, em seguida, chamar execute.records

As operações são executadas sequencialmente na ordem adicionada. O resultado BatchResult contém uma BatchItemResponse por solicitação HTTP expedida (algumas operações se expandem para várias solicitações).

Note

Máximo de 1000 operações HTTP por lote.

Exemplo:


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

Construtor

BatchRequest(client: DataverseClient)

Parâmetros

Nome Description
client
Obrigatório

Métodos

changeset

Crie um novo ChangeSet anexado a este lote.

O conjunto de alterações é adicionado ao lote imediatamente. Operações adicionadas ao retornado ChangeSet por meio de cs.records.* execução atomicamente.

Exemplo:


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

Envie o lote para o Dataverse e retorne todas as respostas.

changeset

Crie um novo ChangeSet anexado a este lote.

O conjunto de alterações é adicionado ao lote imediatamente. Operações adicionadas ao retornado ChangeSet por meio de cs.records.* execução atomicamente.

Exemplo:


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

Retornos

Tipo Description

Um novo ChangeSet pronto para receber operações.

execute

Envie o lote para o Dataverse e retorne todas as respostas.

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

Parâmetros

Nome Description
continue_on_error
Obrigatório

Quando False (padrão), o Dataverse para na primeira falha e retorna o erro dessa operação como uma resposta 4xx. Quando True, Prefer: odata.continue-on-error é enviado e todas as operações são tentadas.

Parâmetros somente de palavra-chave

Nome Description
continue_on_error
Valor padrão: False

Retornos

Tipo Description

BatchResult com uma entrada por operação HTTP na ordem de envio.

Exceções

Tipo Description

Se o lote exceder 1000 operações ou um tipo de coluna sem suporte for especificado.

Se a pré-resolução de metadados falhar (tabela ou coluna não encontrada) para tables.deletetables.add_columnstables.remove_columns

Em falhas no nível HTTP (autenticação, erro de servidor etc.) que impedem a execução do lote.