operations Pacote

Espaços de nomes de operações para o SDK Dataverse.

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

Módulos

batch

Espaços de nomes de operações em lote para o SDK Dataverse.

dataframe

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

files

Espaço de nomes de operações de ficheiros para o SDK Dataverse.

query

Consultar o espaço de nomes de operações para o SDK Dataverse.

records

Registar o espaço de nomes das operações CRUD para o SDK Dataverse.

tables

Espaço de nomes de operações de metadados de tabela para o SDK Dataverse.

Classes

BatchDataFrameOperations

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

Fornece create, , e delete que aceitam pandas.DataFrame / pandas.Series entradas e as convertem em ditados padrão antes de entrar em fila updateno lote. Isto permite que os chamadores de ciência de dados alimentem DataFrames diretamente para um lote sem conversão manual.

Acedido via batch.dataframe.

Example:


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

Acedido via client.batch. Use new para criar um BatchRequest construtor.

Example:


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

Operações de consulta sobre um BatchRequest.

Espelhos client.query exatamente: mesmos nomes de métodos, mesmas assinaturas. Todos os métodos retornam None; os resultados chegam via BatchResult.

Não instanciar diretamente; usar batch.query.

BatchRecordOperations

Operações de registo num BatchRequest.

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

Métodos GA: retrieve (disco único) e list (multi-disco, página única). get está obsoleto — use retrieve em vez disso.

Não instanciar diretamente; usar batch.records.

BatchRequest

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

Operações de metadados de tabela num BatchRequest.

Espelhos client.tables exatamente: mesmos nomes de métodos, mesmas assinaturas. Todos os métodos retornam None; os resultados chegam via BatchResult.

Note

Tables.delete, tables.add_columns e tables.remove_columns

exigir uma consulta de metadados (GET EntityDefinitions) em

execute é hora de resolver o MetadataId-da-da-tabel.

Esta consulta é transparente para quem chama.

Note

tables.add_columns e tables.remove_columns produzem cada um

lote item por coluna, por isso contribuem com múltiplas entradas para

responses.

Não instanciar diretamente; usar batch.tables.

ChangeSet

Um grupo transacional de operações de escrita de registo único.

Todas as operações têm sucesso ou são reunidas novamente. Use como gestor de contexto ou chamada records para adicionar operações diretamente.

Não instanciar diretamente; usar changeset.

Example:


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

Operações de escrita de registo disponíveis dentro de um ChangeSet.

Espelhos client.records , mas restritos a formulários de registo único (sem criar/atualizar/eliminar em massa). Apenas operações de escrita são permitidas — o GET não é permitido dentro de um conjunto de alterações.

Não instanciar diretamente; usar ChangeSet.records.

DataFrameOperations

Namespace para operações dataFrame CRUD de pandas.

Acedido via client.dataframe. Fornece wrappers orientados a DataFrame para as operações CRUD ao nível de registo.

Example:


   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

Espaço de nomes para operações de ficheiros.

Acedido via client.files. Fornece operações de upload de ficheiros para colunas de ficheiros Dataverse.

Example:


   client = DataverseClient(base_url, credential)

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

Namespace para operações de consulta.

Acedido via client.query. Fornece operações de consulta e pesquisa contra tabelas Dataverse.

Example:


   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

Espaço de nomes para operações CRUD ao nível de registo.

Acedido via client.records. Fornece operações de criação, atualização, eliminação e obtenção em registos individuais do Dataverse.

Example:


   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 ao nível da tabela.

Acedido via client.tables. Fornece operações para criar, eliminar, inspecionar e listar tabelas do Dataverse, bem como para adicionar e remover colunas.

Example:


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