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)
batchCreateSessions(String databaseName, int sessionCount, String databaseRole, Map<String,String> labels, Map<SpannerRpc.Option,?> options)
public abstract List<Session> batchCreateSessions(String databaseName, int sessionCount, String databaseRole, Map<String,String> labels, Map<SpannerRpc.Option,?> options)
batchWriteAtLeastOnce(BatchWriteRequest request, Map<SpannerRpc.Option,?> options)
public abstract ServerStream<BatchWriteResponse> batchWriteAtLeastOnce(BatchWriteRequest request, Map<SpannerRpc.Option,?> options)
beginTransaction(BeginTransactionRequest request, Map<SpannerRpc.Option,?> options, boolean routeToLeader)
public abstract Transaction beginTransaction(BeginTransactionRequest request, Map<SpannerRpc.Option,?> options, boolean routeToLeader)
Parameters |
Name |
Description |
request |
BeginTransactionRequest
|
options |
Map<Option,?>
|
routeToLeader |
boolean
Set to true to route the request to the leader region, and false to route
the request to any region. When leader aware routing is enabled, RW/PDML requests are
preferred to be routed to the leader region, and RO requests (except for
PartitionRead/PartitionQuery) are preferred to be routed to any region for optimal latency.
|
beginTransactionAsync(BeginTransactionRequest request, Map<SpannerRpc.Option,?> options, boolean routeToLeader)
public abstract ApiFuture<Transaction> beginTransactionAsync(BeginTransactionRequest request, Map<SpannerRpc.Option,?> options, boolean routeToLeader)
Begins a transaction asynchronously.
Parameters |
Name |
Description |
request |
BeginTransactionRequest
|
options |
Map<Option,?>
|
routeToLeader |
boolean
Set to true to route the request to the leader region, and false to route
the request to any region. When leader aware routing is enabled, RW/PDML requests are
preferred to be routed to the leader region, and RO requests (except for
PartitionRead/PartitionQuery) are preferred to be routed to any region for optimal latency.
|
cancelOperation(String name)
public abstract void cancelOperation(String name)
Cancels the specified long-running operation.
Parameter |
Name |
Description |
name |
String
|
commit(CommitRequest commitRequest, Map<SpannerRpc.Option,?> options)
public abstract CommitResponse commit(CommitRequest commitRequest, Map<SpannerRpc.Option,?> options)
commitAsync(CommitRequest commitRequest, Map<SpannerRpc.Option,?> options)
public abstract ApiFuture<CommitResponse> commitAsync(CommitRequest commitRequest, Map<SpannerRpc.Option,?> options)
copyBackup(BackupId sourceBackupId, Backup destinationBackup)
public default OperationFuture<Backup,CopyBackupMetadata> copyBackup(BackupId sourceBackupId, Backup destinationBackup)
Creates a copy backup from the source backup specified.
Parameters |
Name |
Description |
sourceBackupId |
BackupId
|
destinationBackup |
Backup
the backup to create. The instance, database, and expireTime fields of
the backup must be filled. It may also optionally have an encryption config set. If no
encryption config has been set, the new backup will use the same encryption config as the
source backup.
|
createBackup(Backup backupInfo)
public abstract OperationFuture<Backup,CreateBackupMetadata> createBackup(Backup backupInfo)
Parameter |
Name |
Description |
backupInfo |
Backup
the backup to create. The instance, database and expireTime fields of the
backup must be filled.
|
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)
createInstance(String parent, String instanceId, Instance instance)
public abstract OperationFuture<Instance,CreateInstanceMetadata> createInstance(String parent, String instanceId, Instance instance)
createInstanceConfig(String parent, String instanceConfigId, InstanceConfig instanceConfig, Boolean validateOnly)
public default OperationFuture<InstanceConfig,CreateInstanceConfigMetadata> createInstanceConfig(String parent, String instanceConfigId, InstanceConfig instanceConfig, Boolean validateOnly)
createSession(String databaseName, String databaseRole, Map<String,String> labels, Map<SpannerRpc.Option,?> options)
public abstract Session createSession(String databaseName, String databaseRole, Map<String,String> labels, Map<SpannerRpc.Option,?> options)
createSession(String databaseName, String databaseRole, Map<String,String> labels, Map<SpannerRpc.Option,?> options, boolean isMultiplexed)
public default Session createSession(String databaseName, String databaseRole, Map<String,String> labels, Map<SpannerRpc.Option,?> options, boolean isMultiplexed)
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
|
deleteInstanceConfig(String instanceConfigName, String etag, Boolean validateOnly)
public default void deleteInstanceConfig(String instanceConfigName, String etag, Boolean validateOnly)
deleteSession(String sessionName, Map<SpannerRpc.Option,?> options)
public abstract void deleteSession(String sessionName, Map<SpannerRpc.Option,?> options)
dropDatabase(String databaseName)
public abstract void dropDatabase(String databaseName)
Parameter |
Name |
Description |
databaseName |
String
|
executeBatchDml(ExecuteBatchDmlRequest build, Map<SpannerRpc.Option,?> options)
public abstract ExecuteBatchDmlResponse executeBatchDml(ExecuteBatchDmlRequest build, Map<SpannerRpc.Option,?> options)
executeBatchDmlAsync(ExecuteBatchDmlRequest build, Map<SpannerRpc.Option,?> options)
public abstract ApiFuture<ExecuteBatchDmlResponse> executeBatchDmlAsync(ExecuteBatchDmlRequest build, Map<SpannerRpc.Option,?> options)
executePartitionedDml(ExecuteSqlRequest request, Map<SpannerRpc.Option,?> options)
public abstract ResultSet executePartitionedDml(ExecuteSqlRequest request, Map<SpannerRpc.Option,?> options)
executeQuery(ExecuteSqlRequest request, SpannerRpc.ResultStreamConsumer consumer, Map<SpannerRpc.Option,?> options, boolean routeToLeader)
public abstract SpannerRpc.StreamingCall executeQuery(ExecuteSqlRequest request, SpannerRpc.ResultStreamConsumer consumer, Map<SpannerRpc.Option,?> options, boolean routeToLeader)
Executes a query with streaming result.
Parameters |
Name |
Description |
request |
ExecuteSqlRequest
|
consumer |
SpannerRpc.ResultStreamConsumer
|
options |
Map<Option,?>
|
routeToLeader |
boolean
Set to true to route the request to the leader region, and false to route
the request to any region. When leader aware routing is enabled, RW/PDML requests are
preferred to be routed to the leader region, and RO requests (except for
PartitionRead/PartitionQuery) are preferred to be routed to any region for optimal latency.
|
executeQuery(ExecuteSqlRequest request, Map<SpannerRpc.Option,?> options, boolean routeToLeader)
public abstract ResultSet executeQuery(ExecuteSqlRequest request, Map<SpannerRpc.Option,?> options, boolean routeToLeader)
Parameters |
Name |
Description |
request |
ExecuteSqlRequest
|
options |
Map<Option,?>
|
routeToLeader |
boolean
Set to true to route the request to the leader region, and false to route
the request to any region. When leader aware routing is enabled, RW/PDML requests are
preferred to be routed to the leader region, and RO requests (except for
PartitionRead/PartitionQuery) are preferred to be routed to any region for optimal latency.
|
executeQueryAsync(ExecuteSqlRequest request, Map<SpannerRpc.Option,?> options, boolean routeToLeader)
public abstract ApiFuture<ResultSet> executeQueryAsync(ExecuteSqlRequest request, Map<SpannerRpc.Option,?> options, boolean routeToLeader)
Executes a query asynchronously.
Parameters |
Name |
Description |
request |
ExecuteSqlRequest
|
options |
Map<Option,?>
|
routeToLeader |
boolean
Set to true to route the request to the leader region, and false to route
the request to any region. When leader aware routing is enabled, RW/PDML requests are
preferred to be routed to the leader region, and RO requests (except for
PartitionRead/PartitionQuery) are preferred to be routed to any region for optimal latency.
|
executeStreamingPartitionedDml(ExecuteSqlRequest request, Map<SpannerRpc.Option,?> options, Duration timeout)
public abstract ServerStream<PartialResultSet> executeStreamingPartitionedDml(ExecuteSqlRequest request, Map<SpannerRpc.Option,?> options, Duration timeout)
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 |
|
getCommitRetrySettings()
public default RetrySettings getCommitRetrySettings()
getDatabase(String databaseName)
public abstract Database getDatabase(String databaseName)
Parameter |
Name |
Description |
databaseName |
String
|
getDatabaseAdminIAMPolicy(String resource, GetPolicyOptions options)
public abstract Policy getDatabaseAdminIAMPolicy(String resource, GetPolicyOptions options)
Parameters |
Name |
Description |
resource |
String
|
options |
com.google.iam.v1.GetPolicyOptions
|
Returns |
Type |
Description |
com.google.iam.v1.Policy |
|
getDatabaseAdminStubSettings()
public default DatabaseAdminStubSettings getDatabaseAdminStubSettings()
Getter method to obtain the auto-generated database admin client stub settings.
getDatabaseDdl(String databaseName)
public abstract GetDatabaseDdlResponse getDatabaseDdl(String databaseName)
Parameter |
Name |
Description |
databaseName |
String
|
getExecuteQueryRetrySettings()
public default RetrySettings getExecuteQueryRetrySettings()
Returns the retry settings for streaming query operations.
getExecuteQueryRetryableCodes()
public default Set<StatusCode.Code> getExecuteQueryRetryableCodes()
Returns the retryable codes for streaming query operations.
getInstance(String instanceName)
public abstract Instance getInstance(String instanceName)
Parameter |
Name |
Description |
instanceName |
String
|
getInstanceAdminIAMPolicy(String resource)
public abstract Policy getInstanceAdminIAMPolicy(String resource)
Parameter |
Name |
Description |
resource |
String
|
Returns |
Type |
Description |
com.google.iam.v1.Policy |
|
getInstanceAdminStubSettings()
public default InstanceAdminStubSettings getInstanceAdminStubSettings()
Getter method to obtain the auto-generated instance admin client stub settings.
getInstanceConfig(String instanceConfigName)
public abstract InstanceConfig getInstanceConfig(String instanceConfigName)
Parameter |
Name |
Description |
instanceConfigName |
String
|
getOperation(String name)
public abstract Operation getOperation(String name)
Retrieves a long running operation.
Parameter |
Name |
Description |
name |
String
|
getPartitionedDmlRetrySettings()
public abstract RetrySettings getPartitionedDmlRetrySettings()
getReadRetrySettings()
public default RetrySettings getReadRetrySettings()
Returns the retry settings for streaming read operations.
getReadRetryableCodes()
public default Set<StatusCode.Code> getReadRetryableCodes()
Returns the retryable codes for streaming read operations.
isClosed()
public abstract boolean isClosed()
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.
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.
listDatabaseOperations(String instanceName, int pageSize, String filter, String pageToken)
public abstract SpannerRpc.Paginated<Operation> listDatabaseOperations(String instanceName, int pageSize, String filter, String pageToken)
listDatabaseRoles(String databaseName, int pageSize, String pageToken)
public abstract SpannerRpc.Paginated<DatabaseRole> listDatabaseRoles(String databaseName, int pageSize, String pageToken)
Parameters |
Name |
Description |
databaseName |
String
|
pageSize |
int
|
pageToken |
String
|
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
|
listInstanceConfigOperations(int pageSize, String filter, String pageToken)
public default SpannerRpc.Paginated<Operation> listInstanceConfigOperations(int pageSize, String filter, String pageToken)
List all long-running instance config operations on the given project.
listInstanceConfigs(int pageSize, String pageToken)
public abstract SpannerRpc.Paginated<InstanceConfig> listInstanceConfigs(int pageSize, String pageToken)
Parameters |
Name |
Description |
pageSize |
int
|
pageToken |
String
|
listInstances(int pageSize, String pageToken, String filter)
public abstract SpannerRpc.Paginated<Instance> listInstances(int pageSize, String pageToken, String filter)
partitionQuery(PartitionQueryRequest request, Map<SpannerRpc.Option,?> options)
public abstract PartitionResponse partitionQuery(PartitionQueryRequest request, Map<SpannerRpc.Option,?> options)
partitionRead(PartitionReadRequest request, Map<SpannerRpc.Option,?> options)
public abstract PartitionResponse partitionRead(PartitionReadRequest request, Map<SpannerRpc.Option,?> options)
read(ReadRequest request, SpannerRpc.ResultStreamConsumer consumer, Map<SpannerRpc.Option,?> options, boolean routeToLeader)
public abstract SpannerRpc.StreamingCall read(ReadRequest request, SpannerRpc.ResultStreamConsumer consumer, Map<SpannerRpc.Option,?> options, boolean routeToLeader)
Performs a streaming read.
Parameters |
Name |
Description |
request |
ReadRequest
|
consumer |
SpannerRpc.ResultStreamConsumer
|
options |
Map<Option,?>
|
routeToLeader |
boolean
Set to true to route the request to the leader region, and false to route
the request to any region. When leader aware routing is enabled, RW/PDML requests are
preferred to be routed to the leader region, and RO requests (except for
PartitionRead/PartitionQuery) are preferred to be routed to any region for optimal latency.
|
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
|
rollback(RollbackRequest request, Map<SpannerRpc.Option,?> options)
public abstract void rollback(RollbackRequest request, Map<SpannerRpc.Option,?> options)
rollbackAsync(RollbackRequest request, Map<SpannerRpc.Option,?> options)
public abstract ApiFuture<Empty> rollbackAsync(RollbackRequest request, Map<SpannerRpc.Option,?> options)
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)
Returns |
Type |
Description |
com.google.iam.v1.TestIamPermissionsResponse |
|
testInstanceAdminIAMPermissions(String resource, Iterable<String> permissions)
public abstract TestIamPermissionsResponse testInstanceAdminIAMPermissions(String resource, Iterable<String> permissions)
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.
Returns |
Type |
Description |
Backup |
|
updateDatabase(Database database, FieldMask fieldMask)
public abstract OperationFuture<Database,UpdateDatabaseMetadata> updateDatabase(Database database, FieldMask fieldMask)
Updates the specified fields of a Cloud Spanner database.
Parameters |
Name |
Description |
database |
Database
The database proto whose field values will be used as the new values in the
stored database.
|
fieldMask |
FieldMask
The fields to update. Currently, only the "enable_drop_protection" field of
the database supports updates.
|
updateDatabaseDdl(Database database, Iterable<String> updateDatabaseStatements, String updateId)
public abstract OperationFuture<Empty,UpdateDatabaseDdlMetadata> updateDatabaseDdl(Database database, Iterable<String> updateDatabaseStatements, String updateId)
updateInstance(Instance instance, FieldMask fieldMask)
public abstract OperationFuture<Instance,UpdateInstanceMetadata> updateInstance(Instance instance, FieldMask fieldMask)
updateInstanceConfig(InstanceConfig instanceConfig, Boolean validateOnly, FieldMask fieldMask)
public default OperationFuture<InstanceConfig,UpdateInstanceConfigMetadata> updateInstanceConfig(InstanceConfig instanceConfig, Boolean validateOnly, FieldMask fieldMask)