Interface DatastoreBatchWriter (2.28.2)

publicinterface DatastoreBatchWriterextendsDatastoreWriter

An interface to represent a batch of write operations. All write operation for a batch writer will be applied to the Datastore in one RPC call.

WARNING: This class maintains an internal state in terms of java.util.LinkedHashMap and java.util.LinkedHashSet which gets updated on every method call performing CRUD operations to record the mutations. Since java.util.LinkedHashMap is not thread safe as per its documentation, This class too should not be treated as a thread safe class.

Implements

DatastoreWriter

Methods

add(FullEntity<?> entity)

publicabstractEntityadd(FullEntity<?>entity)

Datastore add operation: inserts the provided entity. This method will automatically allocate an id if necessary. If entity has a complete key and was already marked for deletion in this writer, the operation will be changed to #put.

Parameter
Name Description
entity FullEntity<?>
Returns
Type Description
Entity

add(FullEntity<?>[] entities)

publicabstractList<Entity>add(FullEntity<?>[]entities)

Datastore add operation: inserts the provided entities. This method will automatically allocate id for any entity with an incomplete key. For entities with complete keys that were marked for deletion in this writer the operation will be changed to #put.

Parameter
Name Description
entities FullEntity<?>[]
Returns
Type Description
List<Entity>

addWithDeferredIdAllocation(FullEntity<?>[] entities)

publicabstractvoidaddWithDeferredIdAllocation(FullEntity<?>[]entities)

Datastore add operation. This method will also allocate id for any entity with an incomplete key. As opposed to #add(FullEntity) and #add(FullEntity...), this method will defer any necessary id allocation to submit time.

Parameter
Name Description
entities FullEntity<?>[]

delete(Key[] keys)

publicabstractvoiddelete(Key[]keys)

A datastore delete operation. It is OK to request the deletion of a non-existing key. This operation will also remove from this batch any prior writes for entities with the same keys.

Parameter
Name Description
keys Key[]

isActive()

publicabstractbooleanisActive()

Returns true if still active (write operations were not sent to the Datastore).

Returns
Type Description
boolean

put(FullEntity<?> entity)

publicabstractEntityput(FullEntity<?>entity)

A Datastore put (a.k.a upsert) operation: inserts an entity if it does not exist, updates it otherwise. This method will automatically allocate an id if necessary. This operation will also remove from this writer any prior writes for the same entity.

Parameter
Name Description
entity FullEntity<?>
Returns
Type Description
Entity

put(FullEntity<?>[] entities)

publicabstractList<Entity>put(FullEntity<?>[]entities)

A Datastore put (a.k.a upsert) operation: creates an entity if it does not exist, updates it otherwise. This method will automatically allocate id for any entity with an incomplete key. This operation will also remove from this writer any prior writes for the same entities.

Parameter
Name Description
entities FullEntity<?>[]
Returns
Type Description
List<Entity>

putWithDeferredIdAllocation(FullEntity<?>[] entities)

publicabstractvoidputWithDeferredIdAllocation(FullEntity<?>[]entities)

Datastore put operation. This method will also allocate id for any entity with an incomplete key. As opposed to #put(FullEntity) and #put(FullEntity...), this method will defer any necessary id allocation to submit time.

Parameter
Name Description
entities FullEntity<?>[]

update(Entity[] entities)

publicabstractvoidupdate(Entity[]entities)

A Datastore update operation. The operation will fail if an entity with the same key does not already exist. This operation will be converted to #put operation for entities that were already added or put in this writer.

Parameter
Name Description
entities Entity[]

Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

Last updated 2025年11月19日 UTC.