batch モジュール

Dataverse SDK のバッチ操作名前空間。

クラス

BatchDataFrameOperations

バッチ レコード操作用の DataFrame 指向ラッパー。

バッチにエンキューする前に、pandas.DataFrame / pandas.Series入力を受け入れ、標準のディクテーションに変換するcreateupdate、およびdeleteを提供します。 これにより、データ サイエンスの呼び出し元は、データフレームを手動で変換せずにバッチに直接フィードできます。

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経由で到着します。

直接インスタンス化しないでください。 batch.queryを使用します。

BatchRecordOperations

BatchRequestに対する操作を記録します。

ミラー client.records: 同じメソッド名、同じシグネチャ。 すべてのメソッドはNoneを返します。結果は、execute後にBatchResultを介して使用できます。

GA メソッド: retrieve (単一レコード) と list (マルチレコード、単一ページ)。 get は非推奨です。代わりに retrieve を使用してください。

直接インスタンス化しないでください。 batch.recordsを使用します。

BatchRequest

Dataverse OData $batch 要求を構築して実行するためのビルダー。

new (client.batch.new()) を使用して取得します。 recordstablesquerydataframeを使用して操作を追加し、必要に応じて書き込みを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()
BatchTableOperations

BatchRequestに対するテーブル メタデータ操作。

ミラー client.tables まったく同じメソッド名、同じシグネチャです。 すべてのメソッドは Noneを返します。結果は BatchResult経由で到着します。

Note

tables.delete、tables.add_columns、tables.remove_columns

にメタデータ検索 (GET EntityDefinitions) が必要です。

execute テーブルの MetadataId を解決する時間。

この参照は呼び出し元に対して透過的です。

Note

tables.add_columnsとtables.remove_columnsそれぞれ 1 つを生成します

1 列あたりのバッチ 項目数が多く、複数のエントリが

responses

直接インスタンス化しないでください。 batch.tablesを使用します。

ChangeSet

単一レコード書き込み操作のトランザクション グループ。

すべての操作が成功するか、一緒にロールバックされます。 コンテキスト マネージャーとして使用するか、 records を呼び出して操作を直接追加します。

直接インスタンス化しないでください。 changesetを使用します。

例:


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

ChangeSet内で使用できる書き込み操作を記録します。

ミラー client.records が、単一レコード フォームに制限されます (一括作成/更新/削除は行われません)。 書き込み操作のみが許可されます。GET は変更セット内では許可されません。

直接インスタンス化しないでください。 ChangeSet.recordsを使用します。