Google Cloud Spanner Database Administration v1 API - Class DatabaseAdmin.DatabaseAdminBase (5.0.0-beta03)

[BindServiceMethod(typeof(DatabaseAdmin), "BindService")]
public abstract class DatabaseAdmin.DatabaseAdminBase

Reference documentation and code samples for the Google Cloud Spanner Database Administration v1 API class DatabaseAdmin.DatabaseAdminBase.

Base class for server-side implementations of DatabaseAdmin

Inheritance

object > DatabaseAdmin.DatabaseAdminBase

Namespace

Google.Cloud.Spanner.Admin.Database.V1

Assembly

Google.Cloud.Spanner.Admin.Database.V1.dll

Methods

CopyBackup(CopyBackupRequest, ServerCallContext)

public virtual Task<Operation> CopyBackup(CopyBackupRequest request, ServerCallContext context)

Starts copying a Cloud Spanner Backup. The returned backup [long-running operation][google.longrunning.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][google.longrunning.Operation.metadata] field type is [CopyBackupMetadata][google.spanner.admin.database.v1.CopyBackupMetadata]. The [response][google.longrunning.Operation.response] field type is [Backup][google.spanner.admin.database.v1.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
NameDescription
requestCopyBackupRequest

The request received from the client.

contextServerCallContext

The context of the server-side call handler being invoked.

Returns
TypeDescription
TaskOperation

The response to send back to the client (wrapped by a task).

CreateBackup(CreateBackupRequest, ServerCallContext)

public virtual Task<Operation> CreateBackup(CreateBackupRequest request, ServerCallContext context)

Starts creating a new Cloud Spanner Backup. The returned backup [long-running operation][google.longrunning.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][google.longrunning.Operation.metadata] field type is [CreateBackupMetadata][google.spanner.admin.database.v1.CreateBackupMetadata]. The [response][google.longrunning.Operation.response] field type is [Backup][google.spanner.admin.database.v1.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
NameDescription
requestCreateBackupRequest

The request received from the client.

contextServerCallContext

The context of the server-side call handler being invoked.

Returns
TypeDescription
TaskOperation

The response to send back to the client (wrapped by a task).

CreateDatabase(CreateDatabaseRequest, ServerCallContext)

public virtual Task<Operation> CreateDatabase(CreateDatabaseRequest request, ServerCallContext context)

Creates a new Cloud Spanner database and starts to prepare it for serving. The returned [long-running operation][google.longrunning.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][google.longrunning.Operation.metadata] field type is [CreateDatabaseMetadata][google.spanner.admin.database.v1.CreateDatabaseMetadata]. The [response][google.longrunning.Operation.response] field type is [Database][google.spanner.admin.database.v1.Database], if successful.

Parameters
NameDescription
requestCreateDatabaseRequest

The request received from the client.

contextServerCallContext

The context of the server-side call handler being invoked.

Returns
TypeDescription
TaskOperation

The response to send back to the client (wrapped by a task).

DeleteBackup(DeleteBackupRequest, ServerCallContext)

public virtual Task<Empty> DeleteBackup(DeleteBackupRequest request, ServerCallContext context)

Deletes a pending or completed [Backup][google.spanner.admin.database.v1.Backup].

Parameters
NameDescription
requestDeleteBackupRequest

The request received from the client.

contextServerCallContext

The context of the server-side call handler being invoked.

Returns
TypeDescription
TaskEmpty

The response to send back to the client (wrapped by a task).

DropDatabase(DropDatabaseRequest, ServerCallContext)

public virtual Task<Empty> DropDatabase(DropDatabaseRequest request, ServerCallContext context)

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
NameDescription
requestDropDatabaseRequest

The request received from the client.

contextServerCallContext

The context of the server-side call handler being invoked.

Returns
TypeDescription
TaskEmpty

The response to send back to the client (wrapped by a task).

GetBackup(GetBackupRequest, ServerCallContext)

public virtual Task<Backup> GetBackup(GetBackupRequest request, ServerCallContext context)

Gets metadata on a pending or completed [Backup][google.spanner.admin.database.v1.Backup].

Parameters
NameDescription
requestGetBackupRequest

The request received from the client.

contextServerCallContext

The context of the server-side call handler being invoked.

Returns
TypeDescription
TaskBackup

The response to send back to the client (wrapped by a task).

GetDatabase(GetDatabaseRequest, ServerCallContext)

public virtual Task<Database> GetDatabase(GetDatabaseRequest request, ServerCallContext context)

Gets the state of a Cloud Spanner database.

Parameters
NameDescription
requestGetDatabaseRequest

The request received from the client.

contextServerCallContext

The context of the server-side call handler being invoked.

Returns
TypeDescription
TaskDatabase

The response to send back to the client (wrapped by a task).

GetDatabaseDdl(GetDatabaseDdlRequest, ServerCallContext)

public virtual Task<GetDatabaseDdlResponse> GetDatabaseDdl(GetDatabaseDdlRequest request, ServerCallContext context)

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][google.longrunning.Operations] API.

Parameters
NameDescription
requestGetDatabaseDdlRequest

The request received from the client.

contextServerCallContext

The context of the server-side call handler being invoked.

Returns
TypeDescription
TaskGetDatabaseDdlResponse

The response to send back to the client (wrapped by a task).

GetIamPolicy(GetIamPolicyRequest, ServerCallContext)

public virtual Task<Policy> GetIamPolicy(GetIamPolicyRequest request, ServerCallContext context)

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][google.iam.v1.GetIamPolicyRequest.resource]. For backups, authorization requires spanner.backups.getIamPolicy permission on [resource][google.iam.v1.GetIamPolicyRequest.resource].

Parameters
NameDescription
requestGetIamPolicyRequest

The request received from the client.

contextServerCallContext

The context of the server-side call handler being invoked.

Returns
TypeDescription
TaskPolicy

The response to send back to the client (wrapped by a task).

ListBackupOperations(ListBackupOperationsRequest, ServerCallContext)

public virtual Task<ListBackupOperationsResponse> ListBackupOperations(ListBackupOperationsRequest request, ServerCallContext context)

Lists the backup [long-running operations][google.longrunning.Operation] 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][google.longrunning.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
NameDescription
requestListBackupOperationsRequest

The request received from the client.

contextServerCallContext

The context of the server-side call handler being invoked.

Returns
TypeDescription
TaskListBackupOperationsResponse

The response to send back to the client (wrapped by a task).

ListBackups(ListBackupsRequest, ServerCallContext)

public virtual Task<ListBackupsResponse> ListBackups(ListBackupsRequest request, ServerCallContext context)

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

Parameters
NameDescription
requestListBackupsRequest

The request received from the client.

contextServerCallContext

The context of the server-side call handler being invoked.

Returns
TypeDescription
TaskListBackupsResponse

The response to send back to the client (wrapped by a task).

ListDatabaseOperations(ListDatabaseOperationsRequest, ServerCallContext)

public virtual Task<ListDatabaseOperationsResponse> ListDatabaseOperations(ListDatabaseOperationsRequest request, ServerCallContext context)

Lists database [longrunning-operations][google.longrunning.Operation]. A database operation has a name of the form projects/<project>/instances/<instance>/databases/<database>/operations/<operation>. The long-running operation [metadata][google.longrunning.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
NameDescription
requestListDatabaseOperationsRequest

The request received from the client.

contextServerCallContext

The context of the server-side call handler being invoked.

Returns
TypeDescription
TaskListDatabaseOperationsResponse

The response to send back to the client (wrapped by a task).

ListDatabaseRoles(ListDatabaseRolesRequest, ServerCallContext)

public virtual Task<ListDatabaseRolesResponse> ListDatabaseRoles(ListDatabaseRolesRequest request, ServerCallContext context)

Lists Cloud Spanner database roles.

Parameters
NameDescription
requestListDatabaseRolesRequest

The request received from the client.

contextServerCallContext

The context of the server-side call handler being invoked.

Returns
TypeDescription
TaskListDatabaseRolesResponse

The response to send back to the client (wrapped by a task).

ListDatabases(ListDatabasesRequest, ServerCallContext)

public virtual Task<ListDatabasesResponse> ListDatabases(ListDatabasesRequest request, ServerCallContext context)

Lists Cloud Spanner databases.

Parameters
NameDescription
requestListDatabasesRequest

The request received from the client.

contextServerCallContext

The context of the server-side call handler being invoked.

Returns
TypeDescription
TaskListDatabasesResponse

The response to send back to the client (wrapped by a task).

RestoreDatabase(RestoreDatabaseRequest, ServerCallContext)

public virtual Task<Operation> RestoreDatabase(RestoreDatabaseRequest request, ServerCallContext context)

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][google.longrunning.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][google.longrunning.Operation.metadata] field type is [RestoreDatabaseMetadata][google.spanner.admin.database.v1.RestoreDatabaseMetadata]. The [response][google.longrunning.Operation.response] type is [Database][google.spanner.admin.database.v1.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
NameDescription
requestRestoreDatabaseRequest

The request received from the client.

contextServerCallContext

The context of the server-side call handler being invoked.

Returns
TypeDescription
TaskOperation

The response to send back to the client (wrapped by a task).

SetIamPolicy(SetIamPolicyRequest, ServerCallContext)

public virtual Task<Policy> SetIamPolicy(SetIamPolicyRequest request, ServerCallContext context)

Sets the access control policy on a database or backup resource. Replaces any existing policy.

Authorization requires spanner.databases.setIamPolicy permission on [resource][google.iam.v1.SetIamPolicyRequest.resource]. For backups, authorization requires spanner.backups.setIamPolicy permission on [resource][google.iam.v1.SetIamPolicyRequest.resource].

Parameters
NameDescription
requestSetIamPolicyRequest

The request received from the client.

contextServerCallContext

The context of the server-side call handler being invoked.

Returns
TypeDescription
TaskPolicy

The response to send back to the client (wrapped by a task).

TestIamPermissions(TestIamPermissionsRequest, ServerCallContext)

public virtual Task<TestIamPermissionsResponse> TestIamPermissions(TestIamPermissionsRequest request, ServerCallContext context)

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
NameDescription
requestTestIamPermissionsRequest

The request received from the client.

contextServerCallContext

The context of the server-side call handler being invoked.

Returns
TypeDescription
TaskTestIamPermissionsResponse

The response to send back to the client (wrapped by a task).

UpdateBackup(UpdateBackupRequest, ServerCallContext)

public virtual Task<Backup> UpdateBackup(UpdateBackupRequest request, ServerCallContext context)

Updates a pending or completed [Backup][google.spanner.admin.database.v1.Backup].

Parameters
NameDescription
requestUpdateBackupRequest

The request received from the client.

contextServerCallContext

The context of the server-side call handler being invoked.

Returns
TypeDescription
TaskBackup

The response to send back to the client (wrapped by a task).

UpdateDatabase(UpdateDatabaseRequest, ServerCallContext)

public virtual Task<Operation> UpdateDatabase(UpdateDatabaseRequest request, ServerCallContext context)

Updates a Cloud Spanner database. The returned [long-running operation][google.longrunning.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][google.spanner.admin.database.v1.Database.reconciling] field is set to true.
  • Cancelling the operation is best-effort. If the cancellation succeeds, the operation metadata's [cancel_time][google.spanner.admin.database.v1.UpdateDatabaseMetadata.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][google.spanner.admin.database.v1.Database.reconciling] field becomes false.

The returned [long-running operation][google.longrunning.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][google.longrunning.Operation.metadata] field type is [UpdateDatabaseMetadata][google.spanner.admin.database.v1.UpdateDatabaseMetadata]. The [response][google.longrunning.Operation.response] field type is [Database][google.spanner.admin.database.v1.Database], if successful.

Parameters
NameDescription
requestUpdateDatabaseRequest

The request received from the client.

contextServerCallContext

The context of the server-side call handler being invoked.

Returns
TypeDescription
TaskOperation

The response to send back to the client (wrapped by a task).

UpdateDatabaseDdl(UpdateDatabaseDdlRequest, ServerCallContext)

public virtual Task<Operation> UpdateDatabaseDdl(UpdateDatabaseDdlRequest request, ServerCallContext context)

Updates the schema of a Cloud Spanner database by creating/altering/dropping tables, columns, indexes, etc. The returned [long-running operation][google.longrunning.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][google.longrunning.Operation.metadata] field type is [UpdateDatabaseDdlMetadata][google.spanner.admin.database.v1.UpdateDatabaseDdlMetadata]. The operation has no response.

Parameters
NameDescription
requestUpdateDatabaseDdlRequest

The request received from the client.

contextServerCallContext

The context of the server-side call handler being invoked.

Returns
TypeDescription
TaskOperation

The response to send back to the client (wrapped by a task).