BatchRequest 类
用于构造和执行 Dataverse OData $batch 请求的生成器。
通过 new (client.batch.new()) 获取。 添加通过 records、 tables、 query和 dataframe(可选)写入到 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()
构造函数
BatchRequest(client: DataverseClient)
参数
| 名称 | 说明 |
|---|---|
|
client
必需
|
|
方法
| changeset |
创建附加到此批的新 ChangeSet 项。 更改集将立即添加到批处理中。 通过 示例:
|
| execute |
将批处理提交到 Dataverse 并返回所有响应。 |
changeset
execute
将批处理提交到 Dataverse 并返回所有响应。
execute(*, continue_on_error: bool = False) -> BatchResult
参数
| 名称 | 说明 |
|---|---|
|
continue_on_error
必需
|
如果为 False(默认值),则 Dataverse 在第一次失败时停止,并将该操作的错误作为 4xx 响应返回。
如果为 True, |
仅限关键字的参数
| 名称 | 说明 |
|---|---|
|
continue_on_error
|
默认值: False
|
返回
| 类型 | 说明 |
|---|---|
|
BatchResult 按提交顺序对每个 HTTP 操作使用一个条目。 |
例外
| 类型 | 说明 |
|---|---|
|
如果批处理超过 1000 个操作或指定的列类型不受支持。 |
|
|
如果元数据预解析失败(找不到表或列) |
|
|
在 HTTP 级故障(身份验证、服务器错误等)上,阻止批处理执行。 |