Interface SpannerRpc

public interface SpannerRpc extends ServiceRpc

Abstracts remote calls to the Cloud Spanner service. Typically end-consumer code will never use this interface; it's main purpose is to abstract the implementation of the public Cloud Spanner API from the underlying transport mechanism.

Each SpannerRPC instance is bound to a particular project and set of authorization credentials.

The interface is currently defined in terms of the generated HTTP client model classes. This is purely for expedience; a future version of this interface is likely to be independent of transport to allow switching between gRPC and HTTP.

Implements

com.google.cloud.ServiceRpc

Methods

asyncDeleteSession(String sessionName, Map<SpannerRpc.Option,?> options)

public abstract ApiFuture<Empty> asyncDeleteSession(String sessionName, Map<SpannerRpc.Option,?> options)
Parameters
Name Description
sessionName String
options Map<Option,?>
Returns
Type Description
ApiFuture<Empty>
Exceptions
Type Description
SpannerException

batchCreateSessions(String databaseName, int sessionCount, Map<String,String> labels, Map<SpannerRpc.Option,?> options)

public abstract List<Session> batchCreateSessions(String databaseName, int sessionCount, Map<String,String> labels, Map<SpannerRpc.Option,?> options)
Parameters
Name Description
databaseName String
sessionCount int
labels Map<String,String>
options Map<Option,?>
Returns
Type Description
List<Session>
Exceptions
Type Description
SpannerException

beginTransaction(BeginTransactionRequest request, Map<SpannerRpc.Option,?> options)

public abstract Transaction beginTransaction(BeginTransactionRequest request, Map<SpannerRpc.Option,?> options)
Parameters
Name Description
request BeginTransactionRequest
options Map<Option,?>
Returns
Type Description
Transaction
Exceptions
Type Description
SpannerException

beginTransactionAsync(BeginTransactionRequest request, Map<SpannerRpc.Option,?> options)

public abstract ApiFuture<Transaction> beginTransactionAsync(BeginTransactionRequest request, Map<SpannerRpc.Option,?> options)
Parameters
Name Description
request BeginTransactionRequest
options Map<Option,?>
Returns
Type Description
ApiFuture<Transaction>

cancelOperation(String name)

public abstract void cancelOperation(String name)

Cancels the specified long-running operation.

Parameter
Name Description
name String
Exceptions
Type Description
SpannerException

commit(CommitRequest commitRequest, Map<SpannerRpc.Option,?> options)

public abstract CommitResponse commit(CommitRequest commitRequest, Map<SpannerRpc.Option,?> options)
Parameters
Name Description
commitRequest CommitRequest
options Map<Option,?>
Returns
Type Description
CommitResponse
Exceptions
Type Description
SpannerException

commitAsync(CommitRequest commitRequest, Map<SpannerRpc.Option,?> options)

public abstract ApiFuture<CommitResponse> commitAsync(CommitRequest commitRequest, Map<SpannerRpc.Option,?> options)
Parameters
Name Description
commitRequest CommitRequest
options Map<Option,?>
Returns
Type Description
ApiFuture<CommitResponse>

createBackup(Backup backupInfo)

public abstract OperationFuture<Backup,CreateBackupMetadata> createBackup(Backup backupInfo)

Creates a new backup from the source database specified in the com.google.cloud.spanner.Backup instance.

Parameter
Name Description
backupInfo Backup

the backup to create. The instance, database and expireTime fields of the backup must be filled.

Returns
Type Description
OperationFuture<Backup,CreateBackupMetadata>

the operation that monitors the backup creation.

Exceptions
Type Description
SpannerException

createDatabase(String instanceName, String createDatabaseStatement, Iterable<String> additionalStatements, Database database)

public abstract OperationFuture<Database,CreateDatabaseMetadata> createDatabase(String instanceName, String createDatabaseStatement, Iterable<String> additionalStatements, Database database)
Parameters
Name Description
instanceName String
createDatabaseStatement String
additionalStatements Iterable<String>
database Database
Returns
Type Description
OperationFuture<Database,CreateDatabaseMetadata>
Exceptions
Type Description
SpannerException

createInstance(String parent, String instanceId, Instance instance)

public abstract OperationFuture<Instance,CreateInstanceMetadata> createInstance(String parent, String instanceId, Instance instance)
Parameters
Name Description
parent String
instanceId String
instance Instance
Returns
Type Description
OperationFuture<Instance,CreateInstanceMetadata>
Exceptions
Type Description
SpannerException

createSession(String databaseName, Map<String,String> labels, Map<SpannerRpc.Option,?> options)

public abstract Session createSession(String databaseName, Map<String,String> labels, Map<SpannerRpc.Option,?> options)
Parameters
Name Description
databaseName String
labels Map<String,String>
options Map<Option,?>
Returns
Type Description
Session
Exceptions
Type Description
SpannerException

deleteBackup(String backupName)

public abstract void deleteBackup(String backupName)

Deletes a pending or completed backup.

Parameter
Name Description
backupName String

Required. The fully qualified name of the backup to delete.

deleteInstance(String instanceName)

public abstract void deleteInstance(String instanceName)
Parameter
Name Description
instanceName String
Exceptions
Type Description
SpannerException

deleteSession(String sessionName, Map<SpannerRpc.Option,?> options)

public abstract void deleteSession(String sessionName, Map<SpannerRpc.Option,?> options)
Parameters
Name Description
sessionName String
options Map<Option,?>
Exceptions
Type Description
SpannerException

dropDatabase(String databaseName)

public abstract void dropDatabase(String databaseName)
Parameter
Name Description
databaseName String
Exceptions
Type Description
SpannerException

executeBatchDml(ExecuteBatchDmlRequest build, Map<SpannerRpc.Option,?> options)

public abstract ExecuteBatchDmlResponse executeBatchDml(ExecuteBatchDmlRequest build, Map<SpannerRpc.Option,?> options)
Parameters
Name Description
build ExecuteBatchDmlRequest
options Map<Option,?>
Returns
Type Description
ExecuteBatchDmlResponse

executeBatchDmlAsync(ExecuteBatchDmlRequest build, Map<SpannerRpc.Option,?> options)

public abstract ApiFuture<ExecuteBatchDmlResponse> executeBatchDmlAsync(ExecuteBatchDmlRequest build, Map<SpannerRpc.Option,?> options)
Parameters
Name Description
build ExecuteBatchDmlRequest
options Map<Option,?>
Returns
Type Description
ApiFuture<ExecuteBatchDmlResponse>

executePartitionedDml(ExecuteSqlRequest request, Map<SpannerRpc.Option,?> options)

public abstract ResultSet executePartitionedDml(ExecuteSqlRequest request, Map<SpannerRpc.Option,?> options)
Parameters
Name Description
request ExecuteSqlRequest
options Map<Option,?>
Returns
Type Description
ResultSet

executeQuery(ExecuteSqlRequest request, SpannerRpc.ResultStreamConsumer consumer, Map<SpannerRpc.Option,?> options)

public abstract SpannerRpc.StreamingCall executeQuery(ExecuteSqlRequest request, SpannerRpc.ResultStreamConsumer consumer, Map<SpannerRpc.Option,?> options)
Parameters
Name Description
request ExecuteSqlRequest
consumer SpannerRpc.ResultStreamConsumer
options Map<Option,?>
Returns
Type Description
SpannerRpc.StreamingCall

executeQuery(ExecuteSqlRequest request, Map<SpannerRpc.Option,?> options)

public abstract ResultSet executeQuery(ExecuteSqlRequest request, Map<SpannerRpc.Option,?> options)
Parameters
Name Description
request ExecuteSqlRequest
options Map<Option,?>
Returns
Type Description
ResultSet

executeQueryAsync(ExecuteSqlRequest request, Map<SpannerRpc.Option,?> options)

public abstract ApiFuture<ResultSet> executeQueryAsync(ExecuteSqlRequest request, Map<SpannerRpc.Option,?> options)
Parameters
Name Description
request ExecuteSqlRequest
options Map<Option,?>
Returns
Type Description
ApiFuture<ResultSet>

executeStreamingPartitionedDml(ExecuteSqlRequest request, Map<SpannerRpc.Option,?> options, Duration timeout)

public abstract ServerStream<PartialResultSet> executeStreamingPartitionedDml(ExecuteSqlRequest request, Map<SpannerRpc.Option,?> options, Duration timeout)
Parameters
Name Description
request ExecuteSqlRequest
options Map<Option,?>
timeout org.threeten.bp.Duration
Returns
Type Description
ServerStream<PartialResultSet>

getBackup(String backupName)

public abstract Backup getBackup(String backupName)

Gets the backup with the specified name.

Parameter
Name Description
backupName String
Returns
Type Description
Backup
Exceptions
Type Description
SpannerException

getDatabase(String databaseName)

public abstract Database getDatabase(String databaseName)
Parameter
Name Description
databaseName String
Returns
Type Description
Database
Exceptions
Type Description
SpannerException

getDatabaseAdminIAMPolicy(String resource)

public abstract Policy getDatabaseAdminIAMPolicy(String resource)

Gets the IAM policy for the given resource using the DatabaseAdminStub.

Parameter
Name Description
resource String
Returns
Type Description
com.google.iam.v1.Policy

getDatabaseDdl(String databaseName)

public abstract List<String> getDatabaseDdl(String databaseName)
Parameter
Name Description
databaseName String
Returns
Type Description
List<String>
Exceptions
Type Description
SpannerException

getInstance(String instanceName)

public abstract Instance getInstance(String instanceName)
Parameter
Name Description
instanceName String
Returns
Type Description
Instance
Exceptions
Type Description
SpannerException

getInstanceAdminIAMPolicy(String resource)

public abstract Policy getInstanceAdminIAMPolicy(String resource)

Gets the IAM policy for the given resource using the InstanceAdminStub.

Parameter
Name Description
resource String
Returns
Type Description
com.google.iam.v1.Policy

getInstanceConfig(String instanceConfigName)

public abstract InstanceConfig getInstanceConfig(String instanceConfigName)
Parameter
Name Description
instanceConfigName String
Returns
Type Description
InstanceConfig
Exceptions
Type Description
SpannerException

getOperation(String name)

public abstract Operation getOperation(String name)

Retrieves a long running operation.

Parameter
Name Description
name String
Returns
Type Description
Operation
Exceptions
Type Description
SpannerException

getPartitionedDmlRetrySettings()

public abstract RetrySettings getPartitionedDmlRetrySettings()
Returns
Type Description
RetrySettings

isClosed()

public abstract boolean isClosed()
Returns
Type Description
boolean

listBackupOperations(String instanceName, int pageSize, String filter, String pageToken)

public abstract SpannerRpc.Paginated<Operation> listBackupOperations(String instanceName, int pageSize, String filter, String pageToken)

List all long-running backup operations on the given instance.

Parameters
Name Description
instanceName String
pageSize int
filter String
pageToken String
Returns
Type Description
Paginated<Operation>

listBackups(String instanceName, int pageSize, String filter, String pageToken)

public abstract SpannerRpc.Paginated<Backup> listBackups(String instanceName, int pageSize, String filter, String pageToken)

Lists the backups in the specified instance.

Parameters
Name Description
instanceName String
pageSize int
filter String
pageToken String
Returns
Type Description
Paginated<Backup>
Exceptions
Type Description
SpannerException

listDatabaseOperations(String instanceName, int pageSize, String filter, String pageToken)

public abstract SpannerRpc.Paginated<Operation> listDatabaseOperations(String instanceName, int pageSize, String filter, String pageToken)
Parameters
Name Description
instanceName String
pageSize int
filter String
pageToken String
Returns
Type Description
Paginated<Operation>

listDatabases(String instanceName, int pageSize, String pageToken)

public abstract SpannerRpc.Paginated<Database> listDatabases(String instanceName, int pageSize, String pageToken)
Parameters
Name Description
instanceName String
pageSize int
pageToken String
Returns
Type Description
Paginated<Database>
Exceptions
Type Description
SpannerException

listInstanceConfigs(int pageSize, String pageToken)

public abstract SpannerRpc.Paginated<InstanceConfig> listInstanceConfigs(int pageSize, String pageToken)
Parameters
Name Description
pageSize int
pageToken String
Returns
Type Description
Paginated<InstanceConfig>
Exceptions
Type Description
SpannerException

listInstances(int pageSize, String pageToken, String filter)

public abstract SpannerRpc.Paginated<Instance> listInstances(int pageSize, String pageToken, String filter)
Parameters
Name Description
pageSize int
pageToken String
filter String
Returns
Type Description
Paginated<Instance>
Exceptions
Type Description
SpannerException

partitionQuery(PartitionQueryRequest request, Map<SpannerRpc.Option,?> options)

public abstract PartitionResponse partitionQuery(PartitionQueryRequest request, Map<SpannerRpc.Option,?> options)
Parameters
Name Description
request PartitionQueryRequest
options Map<Option,?>
Returns
Type Description
PartitionResponse
Exceptions
Type Description
SpannerException

partitionRead(PartitionReadRequest request, Map<SpannerRpc.Option,?> options)

public abstract PartitionResponse partitionRead(PartitionReadRequest request, Map<SpannerRpc.Option,?> options)
Parameters
Name Description
request PartitionReadRequest
options Map<Option,?>
Returns
Type Description
PartitionResponse
Exceptions
Type Description
SpannerException

read(ReadRequest request, SpannerRpc.ResultStreamConsumer consumer, Map<SpannerRpc.Option,?> options)

public abstract SpannerRpc.StreamingCall read(ReadRequest request, SpannerRpc.ResultStreamConsumer consumer, Map<SpannerRpc.Option,?> options)
Parameters
Name Description
request ReadRequest
consumer SpannerRpc.ResultStreamConsumer
options Map<Option,?>
Returns
Type Description
SpannerRpc.StreamingCall

restoreDatabase(Restore restore)

public abstract OperationFuture<Database,RestoreDatabaseMetadata> restoreDatabase(Restore restore)

Restore a backup into the given database.

Parameter
Name Description
restore Restore

a Restore instance with the backup source and destination database

Returns
Type Description
OperationFuture<Database,RestoreDatabaseMetadata>

rollback(RollbackRequest request, Map<SpannerRpc.Option,?> options)

public abstract void rollback(RollbackRequest request, Map<SpannerRpc.Option,?> options)
Parameters
Name Description
request RollbackRequest
options Map<Option,?>
Exceptions
Type Description
SpannerException

rollbackAsync(RollbackRequest request, Map<SpannerRpc.Option,?> options)

public abstract ApiFuture<Empty> rollbackAsync(RollbackRequest request, Map<SpannerRpc.Option,?> options)
Parameters
Name Description
request RollbackRequest
options Map<Option,?>
Returns
Type Description
ApiFuture<Empty>

setDatabaseAdminIAMPolicy(String resource, Policy policy)

public abstract Policy setDatabaseAdminIAMPolicy(String resource, Policy policy)

Updates the IAM policy for the given resource using the DatabaseAdminStub. It is highly recommended to first get the current policy and base the updated policy on the returned policy. See Policy.Builder#setEtag(com.google.protobuf.ByteString) for information on the recommended read-modify-write cycle.

Parameters
Name Description
resource String
policy com.google.iam.v1.Policy
Returns
Type Description
com.google.iam.v1.Policy

setInstanceAdminIAMPolicy(String resource, Policy policy)

public abstract Policy setInstanceAdminIAMPolicy(String resource, Policy policy)

Updates the IAM policy for the given resource using the InstanceAdminStub. It is highly recommended to first get the current policy and base the updated policy on the returned policy. See Policy.Builder#setEtag(com.google.protobuf.ByteString) for information on the recommended read-modify-write cycle.

Parameters
Name Description
resource String
policy com.google.iam.v1.Policy
Returns
Type Description
com.google.iam.v1.Policy

shutdown()

public abstract void shutdown()

testDatabaseAdminIAMPermissions(String resource, Iterable<String> permissions)

public abstract TestIamPermissionsResponse testDatabaseAdminIAMPermissions(String resource, Iterable<String> permissions)

Tests the IAM permissions for the given resource using the DatabaseAdminStub.

Parameters
Name Description
resource String
permissions Iterable<String>
Returns
Type Description
com.google.iam.v1.TestIamPermissionsResponse

testInstanceAdminIAMPermissions(String resource, Iterable<String> permissions)

public abstract TestIamPermissionsResponse testInstanceAdminIAMPermissions(String resource, Iterable<String> permissions)

Tests the IAM permissions for the given resource using the InstanceAdminStub.

Parameters
Name Description
resource String
permissions Iterable<String>
Returns
Type Description
com.google.iam.v1.TestIamPermissionsResponse

updateBackup(Backup backup, FieldMask updateMask)

public abstract Backup updateBackup(Backup backup, FieldMask updateMask)

Updates the specified backup. The only supported field for updates is expireTime.

Parameters
Name Description
backup Backup
updateMask FieldMask
Returns
Type Description
Backup

updateDatabaseDdl(String databaseName, Iterable<String> updateDatabaseStatements, String updateId)

public abstract OperationFuture<Empty,UpdateDatabaseDdlMetadata> updateDatabaseDdl(String databaseName, Iterable<String> updateDatabaseStatements, String updateId)
Parameters
Name Description
databaseName String
updateDatabaseStatements Iterable<String>
updateId String
Returns
Type Description
OperationFuture<Empty,UpdateDatabaseDdlMetadata>
Exceptions
Type Description
SpannerException

updateInstance(Instance instance, FieldMask fieldMask)

public abstract OperationFuture<Instance,UpdateInstanceMetadata> updateInstance(Instance instance, FieldMask fieldMask)
Parameters
Name Description
instance Instance
fieldMask FieldMask
Returns
Type Description
OperationFuture<Instance,UpdateInstanceMetadata>
Exceptions
Type Description
SpannerException