BatchRequest クラス
Dataverse OData $batch 要求を構築して実行するためのビルダー。
new (client.batch.new()) を使用して取得します。
records、tables、query、dataframeを使用して操作を追加し、必要に応じて書き込みをchangesetにグループ化してから、executeを呼び出します。
操作は、追加された順序で順番に実行されます。 結果の BatchResult には、ディスパッチされた HTTP 要求ごとに 1 つの BatchItemResponse が含まれます (一部の操作は複数の要求に拡張されます)。
Note
バッチあたり最大 1,000 の 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)
パラメーター
| 名前 | 説明 |
|---|---|
|
client
必須
|
|
メソッド
| changeset |
このバッチにアタッチされた新しい ChangeSet を作成します。 変更セットはすぐにバッチに追加されます。
例:
|
| execute |
バッチを Dataverse に送信し、すべての応答を返します。 |
changeset
このバッチにアタッチされた新しい ChangeSet を作成します。
変更セットはすぐにバッチに追加されます。
cs.records.*を介して返されたChangeSetに追加された操作はアトミックに実行されます。
例:
with batch.changeset() as cs:
cs.records.create("account", {"name": "ACME"})
cs.records.create("contact", {"firstname": "Bob"})
changeset() -> ChangeSet
返品
| 型 | 説明 |
|---|---|
|
操作を受け取る準備が整った新しい ChangeSet 。 |
execute
バッチを Dataverse に送信し、すべての応答を返します。
execute(*, continue_on_error: bool = False) -> BatchResult
パラメーター
| 名前 | 説明 |
|---|---|
|
continue_on_error
必須
|
False (既定値) の場合、Dataverse は最初のエラーで停止し、その操作のエラーを 4xx 応答として返します。
True の場合、 |
キーワードのみのパラメーター
| 名前 | 説明 |
|---|---|
|
continue_on_error
|
規定値: False
|
返品
| 型 | 説明 |
|---|---|
|
BatchResult 送信順序で HTTP 操作ごとに 1 つのエントリを持つ。 |
例外
| 型 | 説明 |
|---|---|
|
バッチが 1000 を超える操作、またはサポートされていない列の種類が指定されている場合。 |
|
|
メタデータの事前解決が失敗した場合 (テーブルまたは列が見つかりません) |
|
|
バッチの実行を妨げる HTTP レベルのエラー (認証、サーバー エラーなど)。 |