Spanner
import { Spanner } from "https://googleapis.deno.dev/v1/spanner:v1.ts";
Cloud Spanner is a managed, mission-critical, globally consistent and scalable relational database service.
§Methods
Lists the user-managed instance configuration long-running operations in
the given project. An instance configuration operation has a name of the
form projects//instanceConfigs//operations/
. 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.start_time
in descending order
starting from the most recently started operation.
Required. The project of the instance configuration operations. Values are of the form projects/
.
Creates an instance configuration and begins preparing it to be used. The
returned long-running operation can be used to track the progress of
preparing the new instance configuration. The instance configuration name
is assigned by the caller. If the named instance configuration already
exists, CreateInstanceConfig
returns ALREADY_EXISTS
. Immediately after
the request returns: * The instance configuration is readable via the API,
with all requested attributes. The instance configuration's reconciling
field is set to true. Its state is CREATING
. While the operation is
pending: * Cancelling the operation renders the instance configuration
immediately unreadable via the API. * Except for deleting the creating
resource, all other attempts to modify the instance configuration are
rejected. Upon completion of the returned operation: * Instances can be
created using the instance configuration. * The instance configuration's
reconciling field becomes false. Its state becomes READY
. The returned
long-running operation will have a name of the format /operations/
and
can be used to track creation of the instance configuration. The metadata
field type is CreateInstanceConfigMetadata. The response field type is
InstanceConfig, if successful. Authorization requires
spanner.instanceConfigs.create
permission on the resource parent.
Required. The name of the project in which to create the instance configuration. Values are of the form projects/
.
Deletes the instance configuration. Deletion is only allowed when no
instances are using the configuration. If any instances are using the
configuration, returns FAILED_PRECONDITION
. Only user-managed
configurations can be deleted. Authorization requires
spanner.instanceConfigs.delete
permission on the resource name.
Required. The name of the instance configuration to be deleted. Values are of the form projects//instanceConfigs/
Gets information about a particular instance configuration.
Required. The name of the requested instance configuration. Values are of the form projects//instanceConfigs/
.
Lists the supported instance configurations for a given project. Returns both Google-managed configurations and user-managed configurations.
Required. The name of the project for which a list of supported instance configurations is requested. Values are of the form projects/
.
Starts asynchronous cancellation on a long-running operation. The server
makes a best effort to cancel the operation, but success is not guaranteed.
If the server doesn't support this method, it returns
google.rpc.Code.UNIMPLEMENTED
. Clients can use Operations.GetOperation or
other methods to check whether the cancellation succeeded or whether the
operation completed despite cancellation. On successful cancellation, the
operation is not deleted; instead, it becomes an operation with an
Operation.error value with a google.rpc.Status.code of 1
, corresponding
to Code.CANCELLED
.
The name of the operation resource to be cancelled.
Deletes a long-running operation. This method indicates that the client is
no longer interested in the operation result. It does not cancel the
operation. If the server doesn't support this method, it returns
google.rpc.Code.UNIMPLEMENTED
.
The name of the operation resource to be deleted.
Lists operations that match the specified filter in the request. If the
server doesn't support this method, it returns UNIMPLEMENTED
.
The name of the operation's parent resource.
Updates an instance configuration. The returned long-running operation can
be used to track the progress of updating the instance. If the named
instance configuration does not exist, returns NOT_FOUND
. Only
user-managed configurations can be updated. Immediately after the request
returns: * The instance configuration's reconciling field is set to true.
While the operation is pending: * Cancelling the operation sets its
metadata's cancel_time. The operation is guaranteed to succeed at undoing
all changes, after which point it terminates with a CANCELLED
status. *
All other attempts to modify the instance configuration are rejected. *
Reading the instance configuration via the API continues to give the
pre-request values. Upon completion of the returned operation: * Creating
instances using the instance configuration uses the new values. * The new
values of the instance configuration are readable via the API. * The
instance configuration's reconciling field becomes false. The returned
long-running operation will have a name of the format /operations/
and
can be used to track the instance configuration modification. The metadata
field type is UpdateInstanceConfigMetadata. The response field type is
InstanceConfig, if successful. Authorization requires
spanner.instanceConfigs.update
permission on the resource name.
A unique identifier for the instance configuration. Values are of the form projects//instanceConfigs/a-z*
. User instance configuration must start with custom-
.
Starts asynchronous cancellation on a long-running operation. The server
makes a best effort to cancel the operation, but success is not guaranteed.
If the server doesn't support this method, it returns
google.rpc.Code.UNIMPLEMENTED
. Clients can use Operations.GetOperation or
other methods to check whether the cancellation succeeded or whether the
operation completed despite cancellation. On successful cancellation, the
operation is not deleted; instead, it becomes an operation with an
Operation.error value with a google.rpc.Status.code of 1
, corresponding
to Code.CANCELLED
.
The name of the operation resource to be cancelled.
Deletes a long-running operation. This method indicates that the client is
no longer interested in the operation result. It does not cancel the
operation. If the server doesn't support this method, it returns
google.rpc.Code.UNIMPLEMENTED
.
The name of the operation resource to be deleted.
Lists operations that match the specified filter in the request. If the
server doesn't support this method, it returns UNIMPLEMENTED
.
The name of the operation's parent resource.
Lists the backup long-running operations in the given instance. A backup
operation has a name of the form
projects//instances//backups//operations/
. 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.
Required. The instance of the backup operations. Values are of the form projects//instances/
.
Starts copying a Cloud Spanner Backup. The returned backup long-running
operation will have a name of the format
projects//instances//backups//operations/
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 destination backup. Concurrent CopyBackup
requests can run on the same source backup.
Required. The name of the destination instance that will contain the backup copy. Values are of the form: projects//instances/
.
Starts creating a new Cloud Spanner Backup. The returned backup
long-running operation will have a name of the format
projects//instances//backups//operations/
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.
Required. The name of the instance in which the backup will be created. This must be the same instance that contains the database the backup will be created from. The backup will be stored in the location(s) specified in the instance configuration of this instance. Values are of the form projects//instances/
.
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. For backup
schedules, authorization requires spanner.backupSchedules.getIamPolicy
permission on resource.
REQUIRED: The Cloud Spanner resource for which the policy is being retrieved. The format is projects//instances/
for instance resources and projects//instances//databases/
for database resources.
Lists completed and pending backups. Backups returned are ordered by
create_time
in descending order, starting from the most recent
create_time
.
Required. The instance to list backups from. Values are of the form projects//instances/
.
Starts asynchronous cancellation on a long-running operation. The server
makes a best effort to cancel the operation, but success is not guaranteed.
If the server doesn't support this method, it returns
google.rpc.Code.UNIMPLEMENTED
. Clients can use Operations.GetOperation or
other methods to check whether the cancellation succeeded or whether the
operation completed despite cancellation. On successful cancellation, the
operation is not deleted; instead, it becomes an operation with an
Operation.error value with a google.rpc.Status.code of 1
, corresponding
to Code.CANCELLED
.
The name of the operation resource to be cancelled.
Deletes a long-running operation. This method indicates that the client is
no longer interested in the operation result. It does not cancel the
operation. If the server doesn't support this method, it returns
google.rpc.Code.UNIMPLEMENTED
.
The name of the operation resource to be deleted.
Lists operations that match the specified filter in the request. If the
server doesn't support this method, it returns UNIMPLEMENTED
.
The name of the operation's parent resource.
Updates a pending or completed Backup.
Output only for the CreateBackup operation. Required for the UpdateBackup operation. A globally unique identifier for the backup which cannot be changed. Values are of the form projects//instances//backups/a-z*[a-z0-9]
The final segment of the name must be between 2 and 60 characters in length. The backup is stored in the location(s) specified in the instance configuration of the instance containing the backup, identified by the prefix of the backup name of the form projects//instances/
.
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. For backup schedules, authorization requires
spanner.backupSchedules.setIamPolicy
permission on resource.
REQUIRED: The Cloud Spanner resource for which the policy is being set. The format is projects//instances/
for instance resources and projects//instances//databases/
for databases resources.
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.
Calling this method on a backup schedule that does not exist will result in
a NOT_FOUND error if the user has spanner.backupSchedules.list
permission
on the containing database.
REQUIRED: The Cloud Spanner resource for which permissions are being tested. The format is projects//instances/
for instance resources and projects//instances//databases/
for database resources.
Creates an instance and begins preparing it to begin serving. The returned
long-running operation can be used to track the progress of preparing the
new instance. The instance name is assigned by the caller. If the named
instance already exists, CreateInstance
returns ALREADY_EXISTS
.
Immediately upon completion of this request: * The instance is readable via
the API, with all requested attributes but no allocated resources. Its
state is CREATING
. Until completion of the returned operation: *
Cancelling the operation renders the instance immediately unreadable via
the API. * The instance can be deleted. * All other attempts to modify the
instance are rejected. Upon completion of the returned operation: * Billing
for all successfully-allocated resources begins (some types may have lower
than the requested levels). * Databases can be created in the instance. *
The instance's allocated resource levels are readable via the API. * The
instance's state becomes READY
. The returned long-running operation will
have a name of the format /operations/
and can be used to track creation
of the instance. The metadata field type is CreateInstanceMetadata. The
response field type is Instance, if successful.
Required. The name of the project in which to create the instance. Values are of the form projects/
.
Lists database longrunning-operations. A database operation has a name of
the form projects//instances//databases//operations/
. 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.
Required. The instance of the database operations. Values are of the form projects//instances/
.
Adds split points to specified tables and indexes of a database.
Required. The database on whose tables or indexes the split points are to be added. Values are of the form projects//instances//databases/
.
Creates a new backup schedule.
Required. The name of the database that this backup schedule applies to.
Gets backup schedule for the input schedule name.
Required. The name of the schedule to retrieve. Values are of the form projects//instances//databases//backupSchedules/
.
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. For backup
schedules, authorization requires spanner.backupSchedules.getIamPolicy
permission on resource.
REQUIRED: The Cloud Spanner resource for which the policy is being retrieved. The format is projects//instances/
for instance resources and projects//instances//databases/
for database resources.
Lists all the backup schedules for the database.
Required. Database is the parent resource whose backup schedules should be listed. Values are of the form projects//instances//databases/
Updates a backup schedule.
Identifier. Output only for the CreateBackupSchedule operation. Required for the UpdateBackupSchedule operation. A globally unique identifier for the backup schedule which cannot be changed. Values are of the form projects//instances//databases//backupSchedules/a-z*[a-z0-9]
The final segment of the name must be between 2 and 60 characters in length.
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. For backup schedules, authorization requires
spanner.backupSchedules.setIamPolicy
permission on resource.
REQUIRED: The Cloud Spanner resource for which the policy is being set. The format is projects//instances/
for instance resources and projects//instances//databases/
for databases resources.
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.
Calling this method on a backup schedule that does not exist will result in
a NOT_FOUND error if the user has spanner.backupSchedules.list
permission
on the containing database.
REQUIRED: The Cloud Spanner resource for which permissions are being tested. The format is projects//instances/
for instance resources and projects//instances//databases/
for database resources.
ChangeQuorum
is strictly restricted to databases that use dual-region
instance configurations. Initiates a background operation to change the
quorum of a database from dual-region mode to single-region mode or vice
versa. The returned long-running operation has a name of the format
projects//instances//databases//operations/
and can be used to track
execution of the ChangeQuorum
. The metadata field type is
ChangeQuorumMetadata. Authorization requires
spanner.databases.changequorum
permission on the resource database.
Required. Name of the database in which to apply ChangeQuorum
. Values are of the form projects//instances//databases/
.
Creates a new Spanner database and starts to prepare it for serving. The
returned long-running operation will have a name of the format
/operations/
and can be used to track preparation of the database. The
metadata field type is CreateDatabaseMetadata. The response field type is
Database, if successful.
Required. The name of the instance that will serve the new database. Values are of the form projects//instances/
.
Lists Cloud Spanner database roles.
Required. The database whose roles should be listed. Values are of the form projects//instances//databases/
.
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.
Calling this method on a backup schedule that does not exist will result in
a NOT_FOUND error if the user has spanner.backupSchedules.list
permission
on the containing database.
REQUIRED: The Cloud Spanner resource for which permissions are being tested. The format is projects//instances/
for instance resources and projects//instances//databases/
for database resources.
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.
Required. The database to be dropped.
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.
Required. The database whose schema we wish to get. Values are of the form projects//instances//databases/
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. For backup
schedules, authorization requires spanner.backupSchedules.getIamPolicy
permission on resource.
REQUIRED: The Cloud Spanner resource for which the policy is being retrieved. The format is projects//instances/
for instance resources and projects//instances//databases/
for database resources.
Request a specific scan with Database-specific data for Cloud Key Visualizer.
Required. The unique name of the scan containing the requested information, specific to the Database service implementing this interface.
Lists Cloud Spanner databases.
Required. The instance whose databases should be listed. Values are of the form projects//instances/
.
Starts asynchronous cancellation on a long-running operation. The server
makes a best effort to cancel the operation, but success is not guaranteed.
If the server doesn't support this method, it returns
google.rpc.Code.UNIMPLEMENTED
. Clients can use Operations.GetOperation or
other methods to check whether the cancellation succeeded or whether the
operation completed despite cancellation. On successful cancellation, the
operation is not deleted; instead, it becomes an operation with an
Operation.error value with a google.rpc.Status.code of 1
, corresponding
to Code.CANCELLED
.
The name of the operation resource to be cancelled.
Deletes a long-running operation. This method indicates that the client is
no longer interested in the operation result. It does not cancel the
operation. If the server doesn't support this method, it returns
google.rpc.Code.UNIMPLEMENTED
.
The name of the operation resource to be deleted.
Lists operations that match the specified filter in the request. If the
server doesn't support this method, it returns UNIMPLEMENTED
.
The name of the operation's parent resource.
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//instances//databases//operations/
and can be used to track the
database modification. The metadata field type is UpdateDatabaseMetadata.
The response field type is Database, if successful.
Required. The name of the database. Values are of the form projects//instances//databases/
, where `` is as specified in the CREATE DATABASE
statement. This name can be passed to other API methods to identify the database.
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//instances//databases//operations/
, 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.
Required. The name of the instance in which to create the restored database. This instance must be in the same project and have the same instance configuration as the instance containing the source backup. Values are of the form projects//instances/
.
Creates a new session to be used for requests made by the adapter. A
session identifies a specific incarnation of a database resource and is
meant to be reused across many AdaptMessage
calls.
Required. The database in which the new session is created.
Handles a single message from the client and returns the result as a stream. The server will interpret the message frame and respond with message frames to the client.
Required. The database session in which the adapter request is processed.
Creates multiple new sessions. This API can be used to initialize a session cache on the clients. See https://goo.gl/TgSFN2 for best practices on session cache management.
Required. The database in which the new sessions are created.
Batches the supplied mutation groups in a collection of efficient
transactions. All mutations in a group are committed atomically. However,
mutations across groups can be committed non-atomically in an unspecified
order and thus, they must be independent of each other. Partial failure is
possible, that is, some groups might have been committed successfully,
while some might have failed. The results of individual batches are
streamed into the response as the batches are applied. BatchWrite
requests are not replay protected, meaning that each mutation group can be
applied more than once. Replays of non-idempotent mutations can have
undesirable effects. For example, replays of an insert mutation can produce
an already exists error or if you use generated or commit timestamp-based
keys, it can result in additional rows being added to the mutation's table.
We recommend structuring your mutation groups to be idempotent to avoid
this issue.
Required. The session in which the batch request is to be run.
Begins a new transaction. This step can often be skipped: Read, ExecuteSql and Commit can begin a new transaction as a side-effect.
Required. The session in which the transaction runs.
Commits a transaction. The request includes the mutations to be applied to
rows in the database. Commit
might return an ABORTED
error. This can
occur at any time; commonly, the cause is conflicts with concurrent
transactions. However, it can also happen for a variety of other reasons.
If Commit
returns ABORTED
, the caller should retry the transaction from
the beginning, reusing the same session. On very rare occasions, Commit
might return UNKNOWN
. This can happen, for example, if the client job
experiences a 1+ hour networking failure. At that point, Cloud Spanner has
lost track of the transaction outcome and we recommend that you perform
another read from the database to see the state of things as they are now.
Required. The session in which the transaction to be committed is running.
Creates a new session. A session can be used to perform transactions that
read and/or modify data in a Cloud Spanner database. Sessions are meant to
be reused for many consecutive transactions. Sessions can only execute one
transaction at a time. To execute multiple concurrent read-write/write-only
transactions, create multiple sessions. Note that standalone reads and
queries use a transaction internally, and count toward the one transaction
limit. Active sessions use additional server resources, so it's a good idea
to delete idle and unneeded sessions. Aside from explicit deletes, Cloud
Spanner can delete sessions when no operations are sent for more than an
hour. If a session is deleted, requests to it return NOT_FOUND
. Idle
sessions can be kept alive by sending a trivial SQL query periodically, for
example, "SELECT 1"
.
Required. The database in which the new session is created.
Executes a batch of SQL DML statements. This method allows many statements to be run with lower latency than submitting them sequentially with ExecuteSql. Statements are executed in sequential order. A request can succeed even if a statement fails. The ExecuteBatchDmlResponse.status field in the response provides information about the statement that failed. Clients must inspect this field to determine whether an error occurred. Execution stops after the first failed statement; the remaining statements are not executed.
Required. The session in which the DML statements should be performed.
Executes an SQL statement, returning all results in a single reply. This
method can't be used to return a result set larger than 10 MiB; if the
query yields more data than that, the query fails with a
FAILED_PRECONDITION
error. Operations inside read-write transactions
might return ABORTED
. If this occurs, the application should restart the
transaction from the beginning. See Transaction for more details. Larger
result sets can be fetched in streaming fashion by calling
ExecuteStreamingSql instead. The query string can be SQL or Graph Query
Language
(GQL).
Required. The session in which the SQL query should be performed.
Like ExecuteSql, except returns the result set as a stream. Unlike ExecuteSql, there is no limit on the size of the returned result set. However, no individual row in the result set can exceed 100 MiB, and no column value can exceed 10 MiB. The query string can be SQL or Graph Query Language (GQL).
Required. The session in which the SQL query should be performed.
Lists all sessions in a given database.
Required. The database in which to list sessions.
Creates a set of partition tokens that can be used to execute a query
operation in parallel. Each of the returned partition tokens can be used by
ExecuteStreamingSql to specify a subset of the query result to read. The
same session and read-only transaction must be used by the
PartitionQueryRequest
used to create the partition tokens and the
ExecuteSqlRequests
that use the partition tokens. Partition tokens become
invalid when the session used to create them is deleted, is idle for too
long, begins a new transaction, or becomes too old. When any of these
happen, it isn't possible to resume the query, and the whole operation must
be restarted from the beginning.
Required. The session used to create the partitions.
Creates a set of partition tokens that can be used to execute a read
operation in parallel. Each of the returned partition tokens can be used by
StreamingRead to specify a subset of the read result to read. The same
session and read-only transaction must be used by the
PartitionReadRequest
used to create the partition tokens and the
ReadRequests
that use the partition tokens. There are no ordering
guarantees on rows returned among the returned partition tokens, or even
within each individual StreamingRead
call issued with a
partition_token
. Partition tokens become invalid when the session used to
create them is deleted, is idle for too long, begins a new transaction, or
becomes too old. When any of these happen, it isn't possible to resume the
read, and the whole operation must be restarted from the beginning.
Required. The session used to create the partitions.
Reads rows from the database using key lookups and scans, as a simple
key/value style alternative to ExecuteSql. This method can't be used to
return a result set larger than 10 MiB; if the read matches more data than
that, the read fails with a FAILED_PRECONDITION
error. Reads inside
read-write transactions might return ABORTED
. If this occurs, the
application should restart the transaction from the beginning. See
Transaction for more details. Larger result sets can be yielded in
streaming fashion by calling StreamingRead instead.
Required. The session in which the read should be performed.
Rolls back a transaction, releasing any locks it holds. It's a good idea
to call this for any transaction that includes one or more Read or
ExecuteSql requests and ultimately decides not to commit. Rollback
returns OK
if it successfully aborts the transaction, the transaction was
already aborted, or the transaction isn't found. Rollback
never returns
ABORTED
.
Required. The session in which the transaction to roll back is running.
Like Read, except returns the result set as a stream. Unlike Read, there is no limit on the size of the returned result set. However, no individual row in the result set can exceed 100 MiB, and no column value can exceed 10 MiB.
Required. The session in which the read should be performed.
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. For backup schedules, authorization requires
spanner.backupSchedules.setIamPolicy
permission on resource.
REQUIRED: The Cloud Spanner resource for which the policy is being set. The format is projects//instances/
for instance resources and projects//instances//databases/
for databases resources.
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.
Calling this method on a backup schedule that does not exist will result in
a NOT_FOUND error if the user has spanner.backupSchedules.list
permission
on the containing database.
REQUIRED: The Cloud Spanner resource for which permissions are being tested. The format is projects//instances/
for instance resources and projects//instances//databases/
for database resources.
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 /operations/
and
can be used to track execution of the schema change(s). The metadata field
type is UpdateDatabaseDdlMetadata. The operation has no response.
Required. The database to update.
Deletes an instance. Immediately upon completion of the request: * Billing ceases for all of the instance's reserved resources. Soon afterward: * The instance and all of its databases immediately and irrevocably disappear from the API. All data in the databases is permanently deleted.
Required. The name of the instance to be deleted. Values are of the form projects//instances/
Gets information about a particular instance.
Required. The name of the requested instance. Values are of the form projects//instances/
.
Gets the access control policy for an instance resource. Returns an empty
policy if an instance exists but does not have a policy set. Authorization
requires spanner.instances.getIamPolicy
on resource.
REQUIRED: The Cloud Spanner resource for which the policy is being retrieved. The format is projects//instances/
for instance resources and projects//instances//databases/
for database resources.
Lists instance partition long-running operations in the given instance. An
instance partition operation has a name of the form
projects//instances//instancePartitions//operations/
. 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.start_time
in
descending order starting from the most recently started operation.
Authorization requires spanner.instancePartitionOperations.list
permission on the resource parent.
Required. The parent instance of the instance partition operations. Values are of the form projects//instances/
.
Creates an instance partition and begins preparing it to be used. The
returned long-running operation can be used to track the progress of
preparing the new instance partition. The instance partition name is
assigned by the caller. If the named instance partition already exists,
CreateInstancePartition
returns ALREADY_EXISTS
. Immediately upon
completion of this request: * The instance partition is readable via the
API, with all requested attributes but no allocated resources. Its state is
CREATING
. Until completion of the returned operation: * Cancelling the
operation renders the instance partition immediately unreadable via the
API. * The instance partition can be deleted. * All other attempts to
modify the instance partition are rejected. Upon completion of the returned
operation: * Billing for all successfully-allocated resources begins (some
types may have lower than the requested levels). * Databases can start
using this instance partition. * The instance partition's allocated
resource levels are readable via the API. * The instance partition's state
becomes READY
. The returned long-running operation will have a name of
the format /operations/
and can be used to track creation of the instance
partition. The metadata field type is CreateInstancePartitionMetadata. The
response field type is InstancePartition, if successful.
Required. The name of the instance in which to create the instance partition. Values are of the form projects//instances/
.
Deletes an existing instance partition. Requires that the instance
partition is not used by any database or backup and is not the default
instance partition of an instance. Authorization requires
spanner.instancePartitions.delete
permission on the resource name.
Required. The name of the instance partition to be deleted. Values are of the form projects/{project}/instances/{instance}/instancePartitions/{instance_partition}
Gets information about a particular instance partition.
Required. The name of the requested instance partition. Values are of the form projects/{project}/instances/{instance}/instancePartitions/{instance_partition}
.
Lists all instance partitions for the given instance.
Required. The instance whose instance partitions should be listed. Values are of the form projects//instances/
. Use {instance} = '-'
to list instance partitions for all Instances in a project, e.g., projects/myproject/instances/-
.
Starts asynchronous cancellation on a long-running operation. The server
makes a best effort to cancel the operation, but success is not guaranteed.
If the server doesn't support this method, it returns
google.rpc.Code.UNIMPLEMENTED
. Clients can use Operations.GetOperation or
other methods to check whether the cancellation succeeded or whether the
operation completed despite cancellation. On successful cancellation, the
operation is not deleted; instead, it becomes an operation with an
Operation.error value with a google.rpc.Status.code of 1
, corresponding
to Code.CANCELLED
.
The name of the operation resource to be cancelled.
Deletes a long-running operation. This method indicates that the client is
no longer interested in the operation result. It does not cancel the
operation. If the server doesn't support this method, it returns
google.rpc.Code.UNIMPLEMENTED
.
The name of the operation resource to be deleted.
Lists operations that match the specified filter in the request. If the
server doesn't support this method, it returns UNIMPLEMENTED
.
The name of the operation's parent resource.
Updates an instance partition, and begins allocating or releasing
resources as requested. The returned long-running operation can be used to
track the progress of updating the instance partition. If the named
instance partition does not exist, returns NOT_FOUND
. Immediately upon
completion of this request: * For resource types for which a decrease in
the instance partition's allocation has been requested, billing is based on
the newly-requested level. Until completion of the returned operation: *
Cancelling the operation sets its metadata's cancel_time, and begins
restoring resources to their pre-request values. The operation is
guaranteed to succeed at undoing all resource changes, after which point it
terminates with a CANCELLED
status. * All other attempts to modify the
instance partition are rejected. * Reading the instance partition via the
API continues to give the pre-request resource levels. Upon completion of
the returned operation: * Billing begins for all successfully-allocated
resources (some types may have lower than the requested levels). * All
newly-reserved resources are available for serving the instance partition's
tables. * The instance partition's new resource levels are readable via the
API. The returned long-running operation will have a name of the format
/operations/
and can be used to track the instance partition
modification. The metadata field type is UpdateInstancePartitionMetadata.
The response field type is InstancePartition, if successful. Authorization
requires spanner.instancePartitions.update
permission on the resource
name.
Required. A unique identifier for the instance partition. Values are of the form projects//instances//instancePartitions/a-z*[a-z0-9]
. The final segment of the name must be between 2 and 64 characters in length. An instance partition's name cannot be changed after the instance partition is created.
Lists all instances in the given project.
Required. The name of the project for which a list of instances is requested. Values are of the form projects/
.
Moves an instance to the target instance configuration. You can use the
returned long-running operation to track the progress of moving the
instance. MoveInstance
returns FAILED_PRECONDITION
if the instance
meets any of the following criteria: * Is undergoing a move to a different
instance configuration * Has backups * Has an ongoing update * Contains any
CMEK-enabled databases * Is a free trial instance While the operation is
pending: * All other attempts to modify the instance, including changes to
its compute capacity, are rejected. * The following database and backup
admin operations are rejected: * DatabaseAdmin.CreateDatabase
*
DatabaseAdmin.UpdateDatabaseDdl
(disabled if default_leader is specified
in the request.) * DatabaseAdmin.RestoreDatabase
*
DatabaseAdmin.CreateBackup
* DatabaseAdmin.CopyBackup
* Both the source
and target instance configurations are subject to hourly compute and
storage charges. * The instance might experience higher read-write
latencies and a higher transaction abort rate. However, moving an instance
doesn't cause any downtime. The returned long-running operation has a name
of the format /operations/
and can be used to track the move instance
operation. The metadata field type is MoveInstanceMetadata. The response
field type is Instance, if successful. Cancelling the operation sets its
metadata's cancel_time. Cancellation is not immediate because it involves
moving any data previously moved to the target instance configuration back
to the original instance configuration. You can use this operation to track
the progress of the cancellation. Upon successful completion of the
cancellation, the operation terminates with CANCELLED
status. If not
cancelled, upon completion of the returned operation: * The instance
successfully moves to the target instance configuration. * You are billed
for compute and storage in target instance configuration. Authorization
requires the spanner.instances.update
permission on the resource
instance. For more details, see Move an
instance.
Required. The instance to move. Values are of the form projects//instances/
.
Starts asynchronous cancellation on a long-running operation. The server
makes a best effort to cancel the operation, but success is not guaranteed.
If the server doesn't support this method, it returns
google.rpc.Code.UNIMPLEMENTED
. Clients can use Operations.GetOperation or
other methods to check whether the cancellation succeeded or whether the
operation completed despite cancellation. On successful cancellation, the
operation is not deleted; instead, it becomes an operation with an
Operation.error value with a google.rpc.Status.code of 1
, corresponding
to Code.CANCELLED
.
The name of the operation resource to be cancelled.
Deletes a long-running operation. This method indicates that the client is
no longer interested in the operation result. It does not cancel the
operation. If the server doesn't support this method, it returns
google.rpc.Code.UNIMPLEMENTED
.
The name of the operation resource to be deleted.
Lists operations that match the specified filter in the request. If the
server doesn't support this method, it returns UNIMPLEMENTED
.
The name of the operation's parent resource.
Updates an instance, and begins allocating or releasing resources as
requested. The returned long-running operation can be used to track the
progress of updating the instance. If the named instance does not exist,
returns NOT_FOUND
. Immediately upon completion of this request: * For
resource types for which a decrease in the instance's allocation has been
requested, billing is based on the newly-requested level. Until completion
of the returned operation: * Cancelling the operation sets its metadata's
cancel_time, and begins restoring resources to their pre-request values.
The operation is guaranteed to succeed at undoing all resource changes,
after which point it terminates with a CANCELLED
status. * All other
attempts to modify the instance are rejected. * Reading the instance via
the API continues to give the pre-request resource levels. Upon completion
of the returned operation: * Billing begins for all successfully-allocated
resources (some types may have lower than the requested levels). * All
newly-reserved resources are available for serving the instance's tables. *
The instance's new resource levels are readable via the API. The returned
long-running operation will have a name of the format /operations/
and
can be used to track the instance modification. The metadata field type is
UpdateInstanceMetadata. The response field type is Instance, if successful.
Authorization requires spanner.instances.update
permission on the
resource name.
Required. A unique identifier for the instance, which cannot be changed after the instance is created. Values are of the form projects//instances/a-z*[a-z0-9]
. The final segment of the name must be between 2 and 64 characters in length.
Sets the access control policy on an instance resource. Replaces any
existing policy. Authorization requires spanner.instances.setIamPolicy
on
resource.
REQUIRED: The Cloud Spanner resource for which the policy is being set. The format is projects//instances/
for instance resources and projects//instances//databases/
for databases resources.
Returns permissions that the caller has on the specified instance
resource. Attempting this RPC on a non-existent Cloud Spanner instance
resource will result in a NOT_FOUND error if the user has
spanner.instances.list
permission on the containing Google Cloud Project.
Otherwise returns an empty set of permissions.
REQUIRED: The Cloud Spanner resource for which permissions are being tested. The format is projects//instances/
for instance resources and projects//instances//databases/
for database resources.