FetchXmlQuery Класс
Объект запроса Inert FetchXML. Http-запрос не выполняется до execute вызова или execute_pages не вызывается.
Получен через client.query.fetchxml(xml).
Конструктор
FetchXmlQuery(xml: str, entity_name: str, client: DataverseClient)
Параметры
| Имя | Описание |
|---|---|
|
xml
Обязательно
|
Срезанная, хорошо сформированная строка FetchXML. |
|
entity_name
Обязательно
|
Имя схемы сущности из |
|
client
Обязательно
|
Родительский DataverseClientобъект. |
Методы
| execute |
Выполните запрос FetchXML и возвратите все результаты в виде QueryResult. Блокировка — извлекает все страницы и хранит каждую запись в памяти перед возвратом. Простой для небольших и средних результирующих наборов; используется execute_pages , если результирующий набор может быть большим или вы хотите обработать записи по мере их поступления. Пример:
|
| execute_pages |
Lazily дает по одному QueryResult на страницу HTTP. Потоковая передача — каждая итерация запускает один HTTP-запрос и дает одну страницу. Предпочесть, execute когда:
Один выстрел — не итерации более одного раза. Пример:
|
execute
Выполните запрос FetchXML и возвратите все результаты в виде QueryResult.
Блокировка — извлекает все страницы и хранит каждую запись в памяти перед возвратом. Простой для небольших и средних результирующих наборов; используется execute_pages , если результирующий набор может быть большим или вы хотите обработать записи по мере их поступления.
Пример:
rows = client.query.fetchxml(xml).execute()
df = rows.to_dataframe()
execute() -> QueryResult
Возвращаемое значение
| Тип | Описание |
|---|---|
|
Все соответствующие записи на всех страницах. |
execute_pages
Lazily дает по одному QueryResult на страницу HTTP.
Потоковая передача — каждая итерация запускает один HTTP-запрос и дает одну страницу. Предпочесть, execute когда:
Результирующий набор может быть большим, и вы не хотите одновременно все записи в памяти.
Вы хотите раннего выхода: остановите итерацию после того, как вы найдете необходимые действия, и оставшиеся круговые поездки HTTP пропускаются автоматически.
Вам нужны отчеты о ходе выполнения на странице или пакетные записи внизу.
Один выстрел — не итерации более одного раза.
Пример:
for page in client.query.fetchxml(xml).execute_pages():
process(page.to_dataframe())
execute_pages() -> Iterator[QueryResult]
Возвращаемое значение
| Тип | Описание |
|---|---|
|
Итератор объектов на страницу QueryResult . |