batch Módulo

Namespaces de operação em lote para o SDK do Dataverse.

Classes

BatchDataFrameOperations

Wrappers orientados a DataFrame para operações de registro em lote.

Fornece create, updatee delete que aceitampandas.Series / pandas.DataFrame entradas e as convertem em ditados padrão antes de enfileirar no lote. Isso permite que os chamadores de ciência de dados alimentem DataFrames diretamente em um lote sem conversão manual.

Acessado por meio de batch.dataframe.

Exemplo:


   import pandas as pd

   batch = client.batch.new()
   df = pd.DataFrame([
       {"name": "Contoso", "telephone1": "555-0100"},
       {"name": "Fabrikam", "telephone1": "555-0200"},
   ])
   batch.dataframe.create("account", df)
   result = batch.execute()
BatchOperations

Namespace para operações em lote (client.batch).

Acessado por meio de client.batch. Use new para criar um BatchRequest construtor.

Exemplo:


   batch = client.batch.new()
   batch.records.create("account", {"name": "Fabrikam"})
   result = batch.execute()
BatchQueryOperations

Operações de consulta em um BatchRequest.

client.query Espelha exatamente: os mesmos nomes de método, as mesmas assinaturas. Todos os métodos retornam None; os resultados chegam por meio de BatchResult.

Não instanciar diretamente; use batch.query.

BatchRecordOperations

Registrar operações em um BatchRequest.

Espelhos client.records: os mesmos nomes de método, as mesmas assinaturas. Todos os métodos retornam None; os resultados estão disponíveis por meio de BatchResult depois execute.

Métodos ga: retrieve (registro único) e list (multi-registro, página única). get é preterido — use retrieve em vez disso.

Não instanciar diretamente; use batch.records.

BatchRequest

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

Operações de metadados de tabela em um BatchRequest.

client.tables Espelha exatamente: os mesmos nomes de método, as mesmas assinaturas. Todos os métodos retornam None; os resultados chegam por meio de BatchResult.

Note

tables.delete, tables.add_columns e tables.remove_columns

exigir uma pesquisa de metadados (GET EntityDefinitions) em

execute tempo para resolver o MetadadosId da tabela.

Essa pesquisa é transparente para o chamador.

Note

tables.add_columns e tables.remove_columns produzem um

item de lote por coluna, para que eles contribuam com várias entradas para

responses.

Não instanciar diretamente; use batch.tables.

ChangeSet

Um grupo transacional de operações de gravação de registro único.

Todas as operações são bem-sucedidas ou revertidas. Use como um gerenciador de contexto ou chame records para adicionar operações diretamente.

Não instanciar diretamente; use changeset.

Exemplo:


   with batch.changeset() as cs:
       ref = cs.records.create("contact", {"firstname": "Alice"})
       cs.records.update("account", account_id, {
           "primarycontactid@odata.bind": ref
       })
ChangeSetRecordOperations

Registrar operações de gravação disponíveis dentro de um ChangeSet.

Espelhos client.records , mas restritos a formulários de registro único (sem criação/atualização/exclusão em massa). Somente operações de gravação são permitidas – GET não é permitido dentro de um conjunto de alterações.

Não instanciar diretamente; use ChangeSet.records.