FetchXmlQuery クラス
不活性 FetchXML クエリ オブジェクト。 executeまたはexecute_pagesが呼び出されるまで、HTTP 要求は行われません。
client.query.fetchxml(xml)経由で取得されます。
コンストラクター
FetchXmlQuery(xml: str, entity_name: str, client: DataverseClient)
パラメーター
| 名前 | 説明 |
|---|---|
|
xml
必須
|
削除された整形式の FetchXML 文字列。 |
|
entity_name
必須
|
|
|
client
必須
|
|
メソッド
| execute |
FetchXML クエリを実行し、すべての結果を QueryResultとして返します。 ブロッキング — すべてのページを事前にフェッチし、すべてのレコードをメモリ内に保持してから返します。 小規模から中規模の結果セットの場合は簡単です。結果セットが大きい可能性がある場合や、レコードが到着したときにレコードを処理する場合は、 execute_pages を使用します。 例:
|
| execute_pages |
HTTP ページごとに 1 つの QueryResult を遅延で生成します。 ストリーミング — 各イテレーションで 1 つの HTTP 要求が発生し、1 ページが生成されます。 次の場合は、 execute よりも優先されます。
ワンショット — 複数回繰り返さないでください。 例:
|
execute
FetchXML クエリを実行し、すべての結果を QueryResultとして返します。
ブロッキング — すべてのページを事前にフェッチし、すべてのレコードをメモリ内に保持してから返します。 小規模から中規模の結果セットの場合は簡単です。結果セットが大きい可能性がある場合や、レコードが到着したときにレコードを処理する場合は、 execute_pages を使用します。
例:
rows = client.query.fetchxml(xml).execute()
df = rows.to_dataframe()
execute() -> QueryResult
返品
| 型 | 説明 |
|---|---|
|
すべてのページで一致するすべてのレコード。 |
execute_pages
HTTP ページごとに 1 つの QueryResult を遅延で生成します。
ストリーミング — 各イテレーションで 1 つの HTTP 要求が発生し、1 ページが生成されます。 次の場合は、 execute よりも優先されます。
結果セットが大きい場合があり、一度にすべてのレコードをメモリに格納する必要はありません。
早期終了が必要な場合:必要なものを見つけたら反復処理を停止し、残りの HTTP ラウンドトリップは自動的にスキップされます。
ページごとの進行状況レポートまたはバッチダウンストリーム書き込みが必要です。
ワンショット — 複数回繰り返さないでください。
例:
for page in client.query.fetchxml(xml).execute_pages():
process(page.to_dataframe())
execute_pages() -> Iterator[QueryResult]
返品
| 型 | 説明 |
|---|---|
|
ページごとの QueryResult オブジェクトの反復子。 |