BatchRequest Sınıf

Dataverse OData $batch isteği oluşturmak ve yürütmek için oluşturucu.

(client.batch.new()) aracılığıyla new alın. , , querytables, ve aracılığıyla recordsişlemler ekleyin, dataframeisteğe bağlı olarak yazma işlemlerini bir changesetiçine gruplandırıp çağrısı yapınexecute.

İşlemler eklenen sırayla sıralı olarak yürütülür. BatchResult Sonuçta gönderilen HTTP isteği başına bir tane BatchItemResponse bulunur (bazı işlemler birden çok isteğe genişletilir).

Note

Toplu iş başına en fazla 1000 HTTP işlemi.

Example:


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

Oluşturucu

BatchRequest(client: DataverseClient)

Parametreler

Name Description
client
Gerekli

Yöntemler

changeset

Bu toplu işe eklenmiş yeni ChangeSet bir oluşturun.

Değişiklik kümesi toplu işe hemen eklenir. Döndürülen ChangeSet öğesine atomik olarak yürütme yoluyla cs.records.* eklenen işlemler.

Example:


   with batch.changeset() as cs:
       cs.records.create("account", {"name": "ACME"})
       cs.records.create("contact", {"firstname": "Bob"})
execute

Toplu işlemi Dataverse'e gönderin ve tüm yanıtları döndürin.

changeset

Bu toplu işe eklenmiş yeni ChangeSet bir oluşturun.

Değişiklik kümesi toplu işe hemen eklenir. Döndürülen ChangeSet öğesine atomik olarak yürütme yoluyla cs.records.* eklenen işlemler.

Example:


   with batch.changeset() as cs:
       cs.records.create("account", {"name": "ACME"})
       cs.records.create("contact", {"firstname": "Bob"})
changeset() -> ChangeSet

Döndürülenler

Tür Description

İşlemleri almaya hazır yeni ChangeSet bir.

execute

Toplu işlemi Dataverse'e gönderin ve tüm yanıtları döndürin.

execute(*, continue_on_error: bool = False) -> BatchResult

Parametreler

Name Description
continue_on_error
Gerekli

False (varsayılan) olduğunda, Dataverse ilk hatada durur ve bu işlemin hatasını 4xx yanıtı olarak döndürür. True olduğunda gönderilir Prefer: odata.continue-on-error ve tüm işlemler denener.

Yalnızca Anahtar Sözcük Parametreleri

Name Description
continue_on_error
Default value: False

Döndürülenler

Tür Description

BatchResult gönderme sırasına göre HTTP işlemi başına bir girişle.

Özel durumlar

Tür Description

Toplu işlem 1000 işlemi aşarsa veya desteklenmeyen bir sütun türü belirtilir.

Meta veri ön çözümlemesi başarısız olursa (tablo veya sütun bulunamadı) tables.deletetables.add_columnstables.remove_columns

Toplu işlemin yürütülmesini engelleyen HTTP düzeyinde hatalarda (kimlik doğrulaması, sunucu hatası vb.).