batch Модуль

Пространства имен пакетной операции для пакета SDK dataverse.

Классы

BatchDataFrameOperations

Оболочки, ориентированные на кадры данных для операций пакетной записи.

Предоставляет createи updatedelete принимает pandas.DataFrame / pandas.Series входные данные и преобразует их в стандартные дикты перед вводом в пакет. Это позволяет вызывающим данным передавать кадры данных непосредственно в пакет без ручного преобразования.

Доступ к ней осуществляется через 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.

Не создавайте экземпляр непосредственно; use batch.query.

BatchRecordOperations

Запись операций BatchRequestс .

Зеркальные отображения client.records: те же имена методов, одни и те же сигнатуры. Все методы возвращаются None; результаты доступны через BatchResult после execute.

Методы общедоступной версии: retrieve (одна запись) и list (многозаписная, одна страница). get не рекомендуется — используйте retrieve вместо этого.

Не создавайте экземпляр непосредственно; use batch.records.

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()
BatchTableOperations

Операции метаданных таблицы в объекте BatchRequest.

Зеркально client.tables : те же имена методов, одни и те же сигнатуры. Все методы возвращаются None; результаты поступают через BatchResult.

Note

tables.delete, tables.add_columns и tables.remove_columns

требуется поиск метаданных (GET EntityDefinitions) по адресу

execute время для разрешения метаданных таблицы.

Этот поиск является прозрачным для вызывающего объекта.

Note

tables.add_columns и tables.remove_columns каждой из них

пакетный элемент на столбец, поэтому они вносят несколько записей в

responses.

Не создавайте экземпляр непосредственно; use batch.tables.

ChangeSet

Транзакционная группа операций записи с одной записью.

Все операции выполняются успешно или откатываются вместе. Используйте в качестве диспетчера контекста или вызова records для непосредственного добавления операций.

Не создавайте экземпляр непосредственно; use 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 не допускается внутри набора изменений.

Не создавайте экземпляр непосредственно; use ChangeSet.records.