BatchRequest Classe

Builder para construir e executar um pedido Dataverse OData $batch .

Obtém via new (client.batch.new()). Adicionar operações através de records, tables, query, e dataframe, opcionalmente agrupar escritas num changeset, e depois chamar execute.

As operações são executadas sequencialmente na ordem adicionada. O resultado BatchResult contém um BatchItemResponse por cada pedido HTTP despachado (algumas operações expandem-se para múltiplos pedidos).

Note

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

Example:


   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

Name Description
client
Necessário

Métodos

changeset

Crie um novo ChangeSet anexo a este lote.

O conjunto de mudanças é adicionado imediatamente ao lote. As operações adicionadas ao retorno ChangeSet via cs.records.* executam atómicamente.

Example:


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

Submeta o lote ao Dataverse e devolva todas as respostas.

changeset

Crie um novo ChangeSet anexo a este lote.

O conjunto de mudanças é adicionado imediatamente ao lote. As operações adicionadas ao retorno ChangeSet via cs.records.* executam atómicamente.

Example:


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

Devoluções

Tipo Description

Uma nova ChangeSet operação pronta a receber.

execute

Submeta o lote ao Dataverse e devolva todas as respostas.

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

Parâmetros

Name Description
continue_on_error
Necessário

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

Parâmetros Só de Palavra-Chave

Name Description
continue_on_error
Default value: False

Devoluções

Tipo Description

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

Exceções

Tipo Description

Se o lote ultrapassar 1000 operações ou se for especificado um tipo de coluna não suportado.

Se os metadados falharem a pré-resolução (tabela ou coluna não encontradas) para tables.deletetables.add_columnstables.remove_columns

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