Package com.google.cloud.spanner
Interface BatchClient
-
- All Known Implementing Classes:
BatchClientImpl
public interface BatchClient
Interface for the Batch Client that is used to read data from a Cloud Spanner database. An instance of this is tied to a specific database.BatchClient
is useful when one wants to read or query a large amount of data from Cloud Spanner across multiple processes, even across different machines. It allows to create partitions of Cloud Spanner database and then read or query over each partition independently yet at the same snapshot.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description BatchReadOnlyTransaction
batchReadOnlyTransaction(BatchTransactionId batchTransactionId)
Returns aBatchReadOnlyTransaction
context in which multiple reads and/or queries can be performed.BatchReadOnlyTransaction
batchReadOnlyTransaction(TimestampBound bound)
Returns aBatchReadOnlyTransaction
context in which multiple reads and/or queries can be performed.default String
getDatabaseRole()
Returns theDatabaseRole
used by the client connection.
-
-
-
Method Detail
-
batchReadOnlyTransaction
BatchReadOnlyTransaction batchReadOnlyTransaction(TimestampBound bound)
Returns aBatchReadOnlyTransaction
context in which multiple reads and/or queries can be performed. All reads/queries will use the same timestamp, and the timestamp can be inspected after this transaction is created successfully. This is a blocking method since it waits to finish the rpcs.Note that the bounded staleness modes,
TimestampBound.Mode.MIN_READ_TIMESTAMP
andTimestampBound.Mode.MAX_STALENESS
, are not supported forBatchReadOnlyTransaction
.- Parameters:
bound
- the timestamp bound at which to perform the readBatchReadOnlyTransaction txn = batchClient.batchReadOnlyTransaction(TimestampBound.strong());
-
batchReadOnlyTransaction
BatchReadOnlyTransaction batchReadOnlyTransaction(BatchTransactionId batchTransactionId)
Returns aBatchReadOnlyTransaction
context in which multiple reads and/or queries can be performed. This is a non-blocking method. All reads/queries will use the same timestamp, and the timestamp can be inspected after this transaction is created successfully.This method is useful to recreate a BatchReadOnlyTransaction object from an existing batchTransactionId. For example one might send the transaction id to a different process or machine and recreate the transaction object there.
- Parameters:
batchTransactionId
- to re-initialize the transaction, re-using the timestamp for successive read/query.
-
getDatabaseRole
default String getDatabaseRole()
Returns theDatabaseRole
used by the client connection. The database role that is used determines the access permissions that a connection has. This can for example be used to create connections that are only permitted to access certain tables.
-
-