operations Pacote

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

Este módulo contém as classes de namespace de operação que organizam operações do SDK em grupos lógicos: registros, consultas e tabelas.

Módulos

batch

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

dataframe

Namespace de operações CRUD do DataFrame para o SDK do Dataverse.

files

Namespace de operações de arquivo para o SDK do Dataverse.

query

Namespace de operações de consulta para o SDK do Dataverse.

records

Registre o namespace de operações CRUD para o SDK do Dataverse.

tables

Namespace de operações de metadados de tabela 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.

DataFrameOperations

Namespace para operações CRUD do DataFrame do Pandas.

Acessado por meio de client.dataframe. Fornece wrappers orientados a DataFrame em torno das operações CRUD no nível do registro.

Exemplo:


   import pandas as pd

   client = DataverseClient(base_url, credential)

   # Query records as a DataFrame
   df = client.dataframe.get("account", select=["name"], top=100)

   # Create records from a DataFrame
   new_df = pd.DataFrame([{"name": "Contoso"}, {"name": "Fabrikam"}])
   new_df["accountid"] = client.dataframe.create("account", new_df)

   # Update records
   new_df["telephone1"] = ["555-0100", "555-0200"]
   client.dataframe.update("account", new_df, id_column="accountid")

   # Delete records
   client.dataframe.delete("account", new_df["accountid"])
FileOperations

Namespace para operações de arquivo.

Acessado por meio de client.files. Fornece operações de upload de arquivo para colunas de arquivo do Dataverse.

Exemplo:


   client = DataverseClient(base_url, credential)

   client.files.upload(
       "account", account_id, "new_Document", "/path/to/file.pdf"
   )
QueryOperations

Namespace para operações de consulta.

Acessado por meio de client.query. Fornece operações de consulta e pesquisa em tabelas do Dataverse.

Exemplo:


   from PowerPlatform.Dataverse.models.filters import col

   client = DataverseClient(base_url, credential)

   # Fluent query builder (recommended)
   for record in (client.query.builder("account")
                  .select("name", "revenue")
                  .where(col("statecode") == 0)
                  .order_by("revenue", descending=True)
                  .top(100)
                  .execute()):
       print(record["name"])

   # SQL query
   rows = client.query.sql("SELECT TOP 10 name FROM account ORDER BY name")
   for row in rows:
       print(row["name"])
RecordOperations

Namespace para operações CRUD no nível de registro.

Acessado por meio de client.records. Fornece operações de criação, atualização, exclusão e obtenção em registros individuais do Dataverse.

Exemplo:


   client = DataverseClient(base_url, credential)

   # Create a single record
   guid = client.records.create("account", {"name": "Contoso Ltd"})

   # Get a record
   record = client.records.get("account", guid, select=["name"])

   # Update a record
   client.records.update("account", guid, {"telephone1": "555-0100"})

   # Delete a record
   client.records.delete("account", guid)
TableOperations

Namespace para operações de metadados no nível da tabela.

Acessado por meio de client.tables. Fornece operações para criar, excluir, inspecionar e listar tabelas do Dataverse, bem como adicionar e remover colunas.

Exemplo:


   client = DataverseClient(base_url, credential)

   # Create a table
   info = client.tables.create(
       "new_Product",
       {"new_Price": "decimal", "new_InStock": "bool"},
       solution="MySolution",
   )

   # List tables
   tables = client.tables.list()

   # Get table info
   info = client.tables.get("new_Product")

   # Add columns
   client.tables.add_columns("new_Product", {"new_Rating": "int"})

   # Remove columns
   client.tables.remove_columns("new_Product", "new_Rating")

   # Delete a table
   client.tables.delete("new_Product")