BatchRequest 類別
用於建構與執行 Dataverse OData $batch 請求的建置器。
透過 new (client.batch.new()) 取得。 將 、 、 和 的運算recordstables相加,或選擇性地將寫入 changeset,然後呼叫 execute。dataframequery
操作依加的順序依序執行。 結果 BatchResult 是每個 HTTP 請求被 BatchItemResponse 派遣一個(有些操作會擴展為多個請求)。
Note
每批次最多 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, {
"primarycontactid@odata.bind": ref
})
result = batch.execute()
建構函式
BatchRequest(client: DataverseClient)
參數
| 名稱 | Description |
|---|---|
|
client
必要
|
|
方法
| changeset |
在這個批次上建立一個新的 ChangeSet 附加連結。 變更集會立即加入批次。 透過原子執行,回傳ChangeSet 範例:
|
| execute |
將批次提交給 Dataverse,並回傳所有回應。 |
changeset
execute
將批次提交給 Dataverse,並回傳所有回應。
execute(*, continue_on_error: bool = False) -> BatchResult
參數
| 名稱 | Description |
|---|---|
|
continue_on_error
必要
|
當 False(預設值)時,Dataverse 會在第一次失敗時停止,並以 4xx 回應回傳該操作的錯誤。
當 為真時, |
僅限關鍵字的參數
| 名稱 | Description |
|---|---|
|
continue_on_error
|
預設值: False
|
傳回
| 類型 | Description |
|---|---|
|
BatchResult 每個 HTTP 操作依提交順序輸入一個項目。 |
例外狀況
| 類型 | Description |
|---|---|
|
若批次超過 1000 次操作或指定不支援欄位類型。 |
|
|
若元資料預解析失敗(找不到資料表或欄位),則 |
|
|
在 HTTP 層級的失敗(如認證、伺服器錯誤等)導致批次無法執行時。 |