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
NameDescription
sessionNameString
optionsMap<Option,?>
Returns
TypeDescription
ApiFuture<Empty>
Exceptions
TypeDescription
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
NameDescription
databaseNameString
sessionCountint
labelsMap<String,String>
optionsMap<Option,?>
Returns
TypeDescription
List<Session>
Exceptions
TypeDescription
SpannerException

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

public abstract Transaction beginTransaction(BeginTransactionRequest request, Map<SpannerRpc.Option,?> options)
Parameters
NameDescription
requestBeginTransactionRequest
optionsMap<Option,?>
Returns
TypeDescription
Transaction
Exceptions
TypeDescription
SpannerException

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

public abstract ApiFuture<Transaction> beginTransactionAsync(BeginTransactionRequest request, Map<SpannerRpc.Option,?> options)
Parameters
NameDescription
requestBeginTransactionRequest
optionsMap<Option,?>
Returns
TypeDescription
ApiFuture<Transaction>

cancelOperation(String name)

public abstract void cancelOperation(String name)

Cancels the specified long-running operation.

Parameter
NameDescription
nameString
Exceptions
TypeDescription
SpannerException

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

public abstract CommitResponse commit(CommitRequest commitRequest, Map<SpannerRpc.Option,?> options)
Parameters
NameDescription
commitRequestCommitRequest
optionsMap<Option,?>
Returns
TypeDescription
CommitResponse
Exceptions
TypeDescription
SpannerException

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

public abstract ApiFuture<CommitResponse> commitAsync(CommitRequest commitRequest, Map<SpannerRpc.Option,?> options)
Parameters
NameDescription
commitRequestCommitRequest
optionsMap<Option,?>
Returns
TypeDescription
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
NameDescription
backupInfoBackup

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

Returns
TypeDescription
OperationFuture<Backup,CreateBackupMetadata>

the operation that monitors the backup creation.

Exceptions
TypeDescription
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
NameDescription
instanceNameString
createDatabaseStatementString
additionalStatementsIterable<String>
databaseDatabase
Returns
TypeDescription
OperationFuture<Database,CreateDatabaseMetadata>
Exceptions
TypeDescription
SpannerException

createInstance(String parent, String instanceId, Instance instance)

public abstract OperationFuture<Instance,CreateInstanceMetadata> createInstance(String parent, String instanceId, Instance instance)
Parameters
NameDescription
parentString
instanceIdString
instanceInstance
Returns
TypeDescription
OperationFuture<Instance,CreateInstanceMetadata>
Exceptions
TypeDescription
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
NameDescription
databaseNameString
labelsMap<String,String>
optionsMap<Option,?>
Returns
TypeDescription
Session
Exceptions
TypeDescription
SpannerException

deleteBackup(String backupName)

public abstract void deleteBackup(String backupName)

Deletes a pending or completed backup.

Parameter
NameDescription
backupNameString

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

deleteInstance(String instanceName)

public abstract void deleteInstance(String instanceName)
Parameter
NameDescription
instanceNameString
Exceptions
TypeDescription
SpannerException

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

public abstract void deleteSession(String sessionName, Map<SpannerRpc.Option,?> options)
Parameters
NameDescription
sessionNameString
optionsMap<Option,?>
Exceptions
TypeDescription
SpannerException

dropDatabase(String databaseName)

public abstract void dropDatabase(String databaseName)
Parameter
NameDescription
databaseNameString
Exceptions
TypeDescription
SpannerException

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

public abstract ExecuteBatchDmlResponse executeBatchDml(ExecuteBatchDmlRequest build, Map<SpannerRpc.Option,?> options)
Parameters
NameDescription
buildExecuteBatchDmlRequest
optionsMap<Option,?>
Returns
TypeDescription
ExecuteBatchDmlResponse

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

public abstract ApiFuture<ExecuteBatchDmlResponse> executeBatchDmlAsync(ExecuteBatchDmlRequest build, Map<SpannerRpc.Option,?> options)
Parameters
NameDescription
buildExecuteBatchDmlRequest
optionsMap<Option,?>
Returns
TypeDescription
ApiFuture<ExecuteBatchDmlResponse>

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

public abstract ResultSet executePartitionedDml(ExecuteSqlRequest request, Map<SpannerRpc.Option,?> options)
Parameters
NameDescription
requestExecuteSqlRequest
optionsMap<Option,?>
Returns
TypeDescription
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
NameDescription
requestExecuteSqlRequest
consumerSpannerRpc.ResultStreamConsumer
optionsMap<Option,?>
Returns
TypeDescription
SpannerRpc.StreamingCall

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

public abstract ResultSet executeQuery(ExecuteSqlRequest request, Map<SpannerRpc.Option,?> options)
Parameters
NameDescription
requestExecuteSqlRequest
optionsMap<Option,?>
Returns
TypeDescription
ResultSet

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

public abstract ApiFuture<ResultSet> executeQueryAsync(ExecuteSqlRequest request, Map<SpannerRpc.Option,?> options)
Parameters
NameDescription
requestExecuteSqlRequest
optionsMap<Option,?>
Returns
TypeDescription
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
NameDescription
requestExecuteSqlRequest
optionsMap<Option,?>
timeoutorg.threeten.bp.Duration
Returns
TypeDescription
ServerStream<PartialResultSet>

getBackup(String backupName)

public abstract Backup getBackup(String backupName)

Gets the backup with the specified name.

Parameter
NameDescription
backupNameString
Returns
TypeDescription
Backup
Exceptions
TypeDescription
SpannerException

getDatabase(String databaseName)

public abstract Database getDatabase(String databaseName)
Parameter
NameDescription
databaseNameString
Returns
TypeDescription
Database
Exceptions
TypeDescription
SpannerException

getDatabaseAdminIAMPolicy(String resource)

public abstract Policy getDatabaseAdminIAMPolicy(String resource)

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

Parameter
NameDescription
resourceString
Returns
TypeDescription
com.google.iam.v1.Policy

getDatabaseDdl(String databaseName)

public abstract List<String> getDatabaseDdl(String databaseName)
Parameter
NameDescription
databaseNameString
Returns
TypeDescription
List<String>
Exceptions
TypeDescription
SpannerException

getInstance(String instanceName)

public abstract Instance getInstance(String instanceName)
Parameter
NameDescription
instanceNameString
Returns
TypeDescription
Instance
Exceptions
TypeDescription
SpannerException

getInstanceAdminIAMPolicy(String resource)

public abstract Policy getInstanceAdminIAMPolicy(String resource)

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

Parameter
NameDescription
resourceString
Returns
TypeDescription
com.google.iam.v1.Policy

getInstanceConfig(String instanceConfigName)

public abstract InstanceConfig getInstanceConfig(String instanceConfigName)
Parameter
NameDescription
instanceConfigNameString
Returns
TypeDescription
InstanceConfig
Exceptions
TypeDescription
SpannerException

getOperation(String name)

public abstract Operation getOperation(String name)

Retrieves a long running operation.

Parameter
NameDescription
nameString
Returns
TypeDescription
Operation
Exceptions
TypeDescription
SpannerException

getPartitionedDmlRetrySettings()

public abstract RetrySettings getPartitionedDmlRetrySettings()
Returns
TypeDescription
RetrySettings

isClosed()

public abstract boolean isClosed()
Returns
TypeDescription
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
NameDescription
instanceNameString
pageSizeint
filterString
pageTokenString
Returns
TypeDescription
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
NameDescription
instanceNameString
pageSizeint
filterString
pageTokenString
Returns
TypeDescription
Paginated<Backup>
Exceptions
TypeDescription
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
NameDescription
instanceNameString
pageSizeint
filterString
pageTokenString
Returns
TypeDescription
Paginated<Operation>

listDatabases(String instanceName, int pageSize, String pageToken)

public abstract SpannerRpc.Paginated<Database> listDatabases(String instanceName, int pageSize, String pageToken)
Parameters
NameDescription
instanceNameString
pageSizeint
pageTokenString
Returns
TypeDescription
Paginated<Database>
Exceptions
TypeDescription
SpannerException

listInstanceConfigs(int pageSize, String pageToken)

public abstract SpannerRpc.Paginated<InstanceConfig> listInstanceConfigs(int pageSize, String pageToken)
Parameters
NameDescription
pageSizeint
pageTokenString
Returns
TypeDescription
Paginated<InstanceConfig>
Exceptions
TypeDescription
SpannerException

listInstances(int pageSize, String pageToken, String filter)

public abstract SpannerRpc.Paginated<Instance> listInstances(int pageSize, String pageToken, String filter)
Parameters
NameDescription
pageSizeint
pageTokenString
filterString
Returns
TypeDescription
Paginated<Instance>
Exceptions
TypeDescription
SpannerException

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

public abstract PartitionResponse partitionQuery(PartitionQueryRequest request, Map<SpannerRpc.Option,?> options)
Parameters
NameDescription
requestPartitionQueryRequest
optionsMap<Option,?>
Returns
TypeDescription
PartitionResponse
Exceptions
TypeDescription
SpannerException

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

public abstract PartitionResponse partitionRead(PartitionReadRequest request, Map<SpannerRpc.Option,?> options)
Parameters
NameDescription
requestPartitionReadRequest
optionsMap<Option,?>
Returns
TypeDescription
PartitionResponse
Exceptions
TypeDescription
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
NameDescription
requestReadRequest
consumerSpannerRpc.ResultStreamConsumer
optionsMap<Option,?>
Returns
TypeDescription
SpannerRpc.StreamingCall

restoreDatabase(Restore restore)

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

Restore a backup into the given database.

Parameter
NameDescription
restoreRestore

a Restore instance with the backup source and destination database

Returns
TypeDescription
OperationFuture<Database,RestoreDatabaseMetadata>

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

public abstract void rollback(RollbackRequest request, Map<SpannerRpc.Option,?> options)
Parameters
NameDescription
requestRollbackRequest
optionsMap<Option,?>
Exceptions
TypeDescription
SpannerException

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

public abstract ApiFuture<Empty> rollbackAsync(RollbackRequest request, Map<SpannerRpc.Option,?> options)
Parameters
NameDescription
requestRollbackRequest
optionsMap<Option,?>
Returns
TypeDescription
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
NameDescription
resourceString
policycom.google.iam.v1.Policy
Returns
TypeDescription
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
NameDescription
resourceString
policycom.google.iam.v1.Policy
Returns
TypeDescription
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
NameDescription
resourceString
permissionsIterable<String>
Returns
TypeDescription
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
NameDescription
resourceString
permissionsIterable<String>
Returns
TypeDescription
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
NameDescription
backupBackup
updateMaskFieldMask
Returns
TypeDescription
Backup

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

public abstract OperationFuture<Empty,UpdateDatabaseDdlMetadata> updateDatabaseDdl(String databaseName, Iterable<String> updateDatabaseStatements, String updateId)
Parameters
NameDescription
databaseNameString
updateDatabaseStatementsIterable<String>
updateIdString
Returns
TypeDescription
OperationFuture<Empty,UpdateDatabaseDdlMetadata>
Exceptions
TypeDescription
SpannerException

updateInstance(Instance instance, FieldMask fieldMask)

public abstract OperationFuture<Instance,UpdateInstanceMetadata> updateInstance(Instance instance, FieldMask fieldMask)
Parameters
NameDescription
instanceInstance
fieldMaskFieldMask
Returns
TypeDescription
OperationFuture<Instance,UpdateInstanceMetadata>
Exceptions
TypeDescription
SpannerException