batch 模块

Dataverse SDK 的批处理操作命名空间。

BatchDataFrameOperations

用于批处理记录操作的面向数据帧的包装器。

提供createupdatedelete接受pandas.DataFrame / pandas.Series输入并将其转换为标准听写,然后再排队批处理。 这样,数据科学调用方就可以直接将数据帧馈送到批处理中,而无需手动转换。

通过 batch.dataframe 访问。

示例:


   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

批处理操作的命名空间(client.batch)。

通过 client.batch 访问。 用于 new 创建 BatchRequest 生成器。

示例:


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

对 .. 的 BatchRequest查询操作

client.query镜像完全相同:相同的方法名称、相同的签名。 所有方法返回 None;结果通过 BatchResult.

不直接实例化;use batch.query.

BatchRecordOperations

记录对 a BatchRequest. 的操作

client.records镜像:相同的方法名称、相同的签名。 所有方法都返回None;结果可通过之后execute获得BatchResult

GA 方法: retrieve (单记录)和 list (多记录、单页)。 get 已弃用 - 请改用 retrieve

不直接实例化;use batch.records.

BatchRequest

用于构造和执行 Dataverse OData $batch 请求的生成器。

通过 newclient.batch.new()) 获取。 添加通过 recordstablesquerydataframe(可选)写入到 a changeset,然后调用 execute的操作。

操作按添加的顺序按顺序执行。 生成的每个 BatchResult HTTP 请求都已调度一个 BatchItemResponse (某些操作扩展到多个请求)。

注释

每个批处理最多 1000 个 HTTP 操作。

示例:


   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, {
           "[email protected]": ref
       })
   result = batch.execute()
BatchTableOperations

对 . 的 BatchRequest表元数据操作

client.tables镜像完全相同:相同的方法名称、相同的签名。 所有方法返回 None;结果通过 BatchResult.

注释

tables.delete、tables.add_columns 和 tables.remove_columns

需要元数据查找 (GET EntityDefinitions)

execute 解析表的 MetadataId 的时间。

此查找对调用方是透明的。

注释

每个生成一个tables.add_columns和tables.remove_columns

每个列的批处理项,因此它们为多个条目贡献

responses

不直接实例化;use batch.tables.

ChangeSet

单记录写入操作的事务组。

所有操作都成功或回滚在一起。 用作上下文管理器或直接添加操作的调用 records

不直接实例化;use changeset.

示例:


   with batch.changeset() as cs:
       ref = cs.records.create("contact", {"firstname": "Alice"})
       cs.records.update("account", account_id, {
           "[email protected]": ref
       })
ChangeSetRecordOperations

记录在一个 ChangeSet. 内可用的写入操作。

镜像 client.records 但仅限于单记录窗体(无批量创建/更新/删除)。 仅允许写入操作 - 不允许在变更集中使用 GET。

不直接实例化;use ChangeSet.records.