Interface DatabaseAdminGrpc.AsyncService (6.66.0)

public static interface DatabaseAdminGrpc.AsyncService

Cloud Spanner Database Admin API The Cloud Spanner Database Admin API can be used to:

  • create, drop, and list databases
  • update the schema of pre-existing databases
  • create, delete and list backups for a database
  • restore a database from an existing backup

Methods

copyBackup(CopyBackupRequest request, StreamObserver<Operation> responseObserver)

public default void copyBackup(CopyBackupRequest request, StreamObserver<Operation> responseObserver)

Starts copying a Cloud Spanner Backup. The returned backup long-running operation will have a name of the format projects/<project>/instances/<instance>/backups/<backup>/operations/<operation_id> and can be used to track copying of the backup. The operation is associated with the destination backup. The metadata field type is CopyBackupMetadata. The response field type is Backup, if successful. Cancelling the returned operation will stop the copying and delete the backup. Concurrent CopyBackup requests can run on the same source backup.

Parameters
Name Description
request CopyBackupRequest
responseObserver io.grpc.stub.StreamObserver<Operation>

createBackup(CreateBackupRequest request, StreamObserver<Operation> responseObserver)

public default void createBackup(CreateBackupRequest request, StreamObserver<Operation> responseObserver)

Starts creating a new Cloud Spanner Backup. The returned backup long-running operation will have a name of the format projects/<project>/instances/<instance>/backups/<backup>/operations/<operation_id> and can be used to track creation of the backup. The metadata field type is CreateBackupMetadata. The response field type is Backup, if successful. Cancelling the returned operation will stop the creation and delete the backup. There can be only one pending backup creation per database. Backup creation of different databases can run concurrently.

Parameters
Name Description
request CreateBackupRequest
responseObserver io.grpc.stub.StreamObserver<Operation>

createDatabase(CreateDatabaseRequest request, StreamObserver<Operation> responseObserver)

public default void createDatabase(CreateDatabaseRequest request, StreamObserver<Operation> responseObserver)

Creates a new Cloud Spanner database and starts to prepare it for serving. The returned long-running operation will have a name of the format <database_name>/operations/<operation_id> and can be used to track preparation of the database. The metadata field type is CreateDatabaseMetadata. The response field type is Database, if successful.

Parameters
Name Description
request CreateDatabaseRequest
responseObserver io.grpc.stub.StreamObserver<Operation>

deleteBackup(DeleteBackupRequest request, StreamObserver<Empty> responseObserver)

public default void deleteBackup(DeleteBackupRequest request, StreamObserver<Empty> responseObserver)

Deletes a pending or completed Backup.

Parameters
Name Description
request DeleteBackupRequest
responseObserver io.grpc.stub.StreamObserver<Empty>

dropDatabase(DropDatabaseRequest request, StreamObserver<Empty> responseObserver)

public default void dropDatabase(DropDatabaseRequest request, StreamObserver<Empty> responseObserver)

Drops (aka deletes) a Cloud Spanner database. Completed backups for the database will be retained according to their expire_time. Note: Cloud Spanner might continue to accept requests for a few seconds after the database has been deleted.

Parameters
Name Description
request DropDatabaseRequest
responseObserver io.grpc.stub.StreamObserver<Empty>

getBackup(GetBackupRequest request, StreamObserver<Backup> responseObserver)

public default void getBackup(GetBackupRequest request, StreamObserver<Backup> responseObserver)

Gets metadata on a pending or completed Backup.

Parameters
Name Description
request GetBackupRequest
responseObserver io.grpc.stub.StreamObserver<Backup>

getDatabase(GetDatabaseRequest request, StreamObserver<Database> responseObserver)

public default void getDatabase(GetDatabaseRequest request, StreamObserver<Database> responseObserver)

Gets the state of a Cloud Spanner database.

Parameters
Name Description
request GetDatabaseRequest
responseObserver io.grpc.stub.StreamObserver<Database>

getDatabaseDdl(GetDatabaseDdlRequest request, StreamObserver<GetDatabaseDdlResponse> responseObserver)

public default void getDatabaseDdl(GetDatabaseDdlRequest request, StreamObserver<GetDatabaseDdlResponse> responseObserver)

Returns the schema of a Cloud Spanner database as a list of formatted DDL statements. This method does not show pending schema updates, those may be queried using the Operations API.

Parameters
Name Description
request GetDatabaseDdlRequest
responseObserver io.grpc.stub.StreamObserver<GetDatabaseDdlResponse>

getIamPolicy(GetIamPolicyRequest request, StreamObserver<Policy> responseObserver)

public default void getIamPolicy(GetIamPolicyRequest request, StreamObserver<Policy> responseObserver)

Gets the access control policy for a database or backup resource. Returns an empty policy if a database or backup exists but does not have a policy set. Authorization requires spanner.databases.getIamPolicy permission on resource. For backups, authorization requires spanner.backups.getIamPolicy permission on resource.

Parameters
Name Description
request com.google.iam.v1.GetIamPolicyRequest
responseObserver io.grpc.stub.StreamObserver<com.google.iam.v1.Policy>

listBackupOperations(ListBackupOperationsRequest request, StreamObserver<ListBackupOperationsResponse> responseObserver)

public default void listBackupOperations(ListBackupOperationsRequest request, StreamObserver<ListBackupOperationsResponse> responseObserver)

Lists the backup long-running operations in the given instance. A backup operation has a name of the form projects/<project>/instances/<instance>/backups/<backup>/operations/<operation>. The long-running operation metadata field type metadata.type_url describes the type of the metadata. Operations returned include those that have completed/failed/canceled within the last 7 days, and pending operations. Operations returned are ordered by operation.metadata.value.progress.start_time in descending order starting from the most recently started operation.

Parameters
Name Description
request ListBackupOperationsRequest
responseObserver io.grpc.stub.StreamObserver<ListBackupOperationsResponse>

listBackups(ListBackupsRequest request, StreamObserver<ListBackupsResponse> responseObserver)

public default void listBackups(ListBackupsRequest request, StreamObserver<ListBackupsResponse> responseObserver)

Lists completed and pending backups. Backups returned are ordered by create_time in descending order, starting from the most recent create_time.

Parameters
Name Description
request ListBackupsRequest
responseObserver io.grpc.stub.StreamObserver<ListBackupsResponse>

listDatabaseOperations(ListDatabaseOperationsRequest request, StreamObserver<ListDatabaseOperationsResponse> responseObserver)

public default void listDatabaseOperations(ListDatabaseOperationsRequest request, StreamObserver<ListDatabaseOperationsResponse> responseObserver)

Lists database longrunning-operations. A database operation has a name of the form projects/<project>/instances/<instance>/databases/<database>/operations/<operation>. The long-running operation metadata field type metadata.type_url describes the type of the metadata. Operations returned include those that have completed/failed/canceled within the last 7 days, and pending operations.

Parameters
Name Description
request ListDatabaseOperationsRequest
responseObserver io.grpc.stub.StreamObserver<ListDatabaseOperationsResponse>

listDatabaseRoles(ListDatabaseRolesRequest request, StreamObserver<ListDatabaseRolesResponse> responseObserver)

public default void listDatabaseRoles(ListDatabaseRolesRequest request, StreamObserver<ListDatabaseRolesResponse> responseObserver)

Lists Cloud Spanner database roles.

Parameters
Name Description
request ListDatabaseRolesRequest
responseObserver io.grpc.stub.StreamObserver<ListDatabaseRolesResponse>

listDatabases(ListDatabasesRequest request, StreamObserver<ListDatabasesResponse> responseObserver)

public default void listDatabases(ListDatabasesRequest request, StreamObserver<ListDatabasesResponse> responseObserver)

Lists Cloud Spanner databases.

Parameters
Name Description
request ListDatabasesRequest
responseObserver io.grpc.stub.StreamObserver<ListDatabasesResponse>

restoreDatabase(RestoreDatabaseRequest request, StreamObserver<Operation> responseObserver)

public default void restoreDatabase(RestoreDatabaseRequest request, StreamObserver<Operation> responseObserver)

Create a new database by restoring from a completed backup. The new database must be in the same project and in an instance with the same instance configuration as the instance containing the backup. The returned database long-running operation has a name of the format projects/<project>/instances/<instance>/databases/<database>/operations/<operation_id>, and can be used to track the progress of the operation, and to cancel it. The metadata field type is RestoreDatabaseMetadata. The response type is Database, if successful. Cancelling the returned operation will stop the restore and delete the database. There can be only one database being restored into an instance at a time. Once the restore operation completes, a new restore operation can be initiated, without waiting for the optimize operation associated with the first restore to complete.

Parameters
Name Description
request RestoreDatabaseRequest
responseObserver io.grpc.stub.StreamObserver<Operation>

setIamPolicy(SetIamPolicyRequest request, StreamObserver<Policy> responseObserver)

public default void setIamPolicy(SetIamPolicyRequest request, StreamObserver<Policy> responseObserver)

Sets the access control policy on a database or backup resource. Replaces any existing policy. Authorization requires spanner.databases.setIamPolicy permission on resource. For backups, authorization requires spanner.backups.setIamPolicy permission on resource.

Parameters
Name Description
request com.google.iam.v1.SetIamPolicyRequest
responseObserver io.grpc.stub.StreamObserver<com.google.iam.v1.Policy>

testIamPermissions(TestIamPermissionsRequest request, StreamObserver<TestIamPermissionsResponse> responseObserver)

public default void testIamPermissions(TestIamPermissionsRequest request, StreamObserver<TestIamPermissionsResponse> responseObserver)

Returns permissions that the caller has on the specified database or backup resource. Attempting this RPC on a non-existent Cloud Spanner database will result in a NOT_FOUND error if the user has spanner.databases.list permission on the containing Cloud Spanner instance. Otherwise returns an empty set of permissions. Calling this method on a backup that does not exist will result in a NOT_FOUND error if the user has spanner.backups.list permission on the containing instance.

Parameters
Name Description
request com.google.iam.v1.TestIamPermissionsRequest
responseObserver io.grpc.stub.StreamObserver<com.google.iam.v1.TestIamPermissionsResponse>

updateBackup(UpdateBackupRequest request, StreamObserver<Backup> responseObserver)

public default void updateBackup(UpdateBackupRequest request, StreamObserver<Backup> responseObserver)

Updates a pending or completed Backup.

Parameters
Name Description
request UpdateBackupRequest
responseObserver io.grpc.stub.StreamObserver<Backup>

updateDatabase(UpdateDatabaseRequest request, StreamObserver<Operation> responseObserver)

public default void updateDatabase(UpdateDatabaseRequest request, StreamObserver<Operation> responseObserver)

Updates a Cloud Spanner database. The returned long-running operation can be used to track the progress of updating the database. If the named database does not exist, returns NOT_FOUND. While the operation is pending:

  • The database's reconciling field is set to true.
  • Cancelling the operation is best-effort. If the cancellation succeeds, the operation metadata's cancel_time is set, the updates are reverted, and the operation terminates with a CANCELLED status.
  • New UpdateDatabase requests will return a FAILED_PRECONDITION error until the pending operation is done (returns successfully or with error).
  • Reading the database via the API continues to give the pre-request values. Upon completion of the returned operation:
  • The new values are in effect and readable via the API.
  • The database's reconciling field becomes false. The returned long-running operation will have a name of the format projects/<project>/instances/<instance>/databases/<database>/operations/<operation_id> and can be used to track the database modification. The metadata field type is UpdateDatabaseMetadata. The response field type is Database, if successful.
Parameters
Name Description
request UpdateDatabaseRequest
responseObserver io.grpc.stub.StreamObserver<Operation>

updateDatabaseDdl(UpdateDatabaseDdlRequest request, StreamObserver<Operation> responseObserver)

public default void updateDatabaseDdl(UpdateDatabaseDdlRequest request, StreamObserver<Operation> responseObserver)

Updates the schema of a Cloud Spanner database by creating/altering/dropping tables, columns, indexes, etc. The returned long-running operation will have a name of the format <database_name>/operations/<operation_id> and can be used to track execution of the schema change(s). The metadata field type is UpdateDatabaseDdlMetadata. The operation has no response.

Parameters
Name Description
request UpdateDatabaseDdlRequest
responseObserver io.grpc.stub.StreamObserver<Operation>