BatchRequest Класс
Построитель для создания и выполнения запроса OData $batch Dataverse.
Получите через new (client.batch.new()). Добавление операций с помощью records, tablesqueryиdataframe, при необходимости, группирование записываются в changeset, а затем вызываетсяexecute.
Операции выполняются последовательно в добавленном порядке. Результирующий BatchResult запрос содержит один по протоколу BatchItemResponse HTTP-запроса (некоторые операции расширяются до нескольких запросов).
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)
Параметры
| Имя | Описание |
|---|---|
|
client
Обязательно
|
|
Методы
| changeset |
Создайте новый ChangeSet присоединенный к этому пакету. Набор изменений добавляется в пакет немедленно. Операции, добавленные к возвращаемой ChangeSet через Пример:
|
| execute |
Отправьте пакет в Dataverse и верните все ответы. |
changeset
Создайте новый ChangeSet присоединенный к этому пакету.
Набор изменений добавляется в пакет немедленно. Операции, добавленные к возвращаемой ChangeSet через cs.records.* атомарную операцию.
Пример:
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, |
Параметры Keyword-Only
| Имя | Описание |
|---|---|
|
continue_on_error
|
Default value: False
|
Возвращаемое значение
| Тип | Описание |
|---|---|
|
BatchResult с одной записью для каждой операции HTTP в порядке отправки. |
Исключения
| Тип | Описание |
|---|---|
|
Если пакет превышает 1000 операций или указан неподдерживаемый тип столбца. |
|
|
Если предварительное разрешение метаданных завершается ошибкой (таблица или столбец не найдено) |
|
|
При сбоях уровня HTTP (проверка подлинности, ошибка сервера и т. д.), которые препятствуют выполнению пакета. |