- 3.59.0 (latest)
- 3.58.0
- 3.57.0
- 3.56.0
- 3.55.0
- 3.54.0
- 3.53.0
- 3.52.0
- 3.51.0
- 3.50.1
- 3.46.0
- 3.45.0
- 3.44.0
- 3.43.0
- 3.42.0
- 3.41.0
- 3.40.1
- 3.39.0
- 3.38.0
- 3.37.0
- 3.36.0
- 3.35.1
- 3.34.0
- 3.33.0
- 3.32.0
- 3.31.0
- 3.30.0
- 3.29.0
- 3.28.0
- 3.27.1
- 3.26.0
- 3.25.0
- 3.24.0
- 3.23.0
- 3.22.2
- 3.21.0
- 3.20.0
- 3.19.0
- 3.18.0
- 3.17.0
- 3.16.0
- 3.15.1
- 3.14.1
- 3.13.0
- 3.12.1
- 3.11.1
- 3.10.0
- 3.9.0
- 3.8.0
- 3.7.0
- 3.6.0
- 3.5.0
- 3.4.0
- 3.3.0
- 3.2.0
- 3.1.0
- 3.0.0
- 2.1.1
- 2.0.0
- 1.19.3
- 1.18.0
- 1.17.1
- 1.16.0
- 1.15.1
- 1.14.0
- 1.13.0
- 1.12.0
- 1.11.0
- 1.10.0
Database API
User friendly container for Cloud Spanner Database.
class google.cloud.spanner_v1.database.BatchCheckout(database, request_options=None)
Bases: object
Context manager for using a batch from a database.
Inside the context manager, checks out a session from the database, creates a batch from it, making the batch available.
Caller must not use the batch to perform API requests outside the scope of the context manager.
- Parameters - database ( - Database) – database to use
- request_options ( - google.cloud.spanner_v1.types.RequestOptions) – (Optional) Common options for the commit request. If a dict is provided, it must be of the same form as the protobuf message- RequestOptions.
 
_enter_()
Begin with block.
_exit_(exc_type, exc_val, exc_tb)
End with block.
class google.cloud.spanner_v1.database.BatchSnapshot(database, read_timestamp=None, exact_staleness=None)
Bases: object
Wrapper for generating and processing read / query batches.
- Parameters - database ( - Database) – database to use
- read_timestamp ( - datetime.datetime) – Execute all reads at the given timestamp.
- exact_staleness ( - datetime.timedelta) – Execute all reads at a timestamp that is- exact_stalenessold.
 
close()
Clean up underlying session.
NOTE: If the transaction has been shared across multiple machines, calling this on any machine would invalidate the transaction everywhere. Ideally this would be called when data has been read from all the partitions.
execute_sql(*args, **kw)
Convenience method: perform query operation via snapshot.
See execute_sql().
classmethod from_dict(database, mapping)
Reconstruct an instance from a mapping.
- Parameters - database ( - Database) – database to use
- mapping (mapping) – serialized state of the instance 
 
- Return type - BatchSnapshot
generate_query_batches(sql, params=None, param_types=None, partition_size_bytes=None, max_partitions=None, query_options=None, *, retry=<_MethodDefault._DEFAULT_VALUE:
Start a partitioned query operation.
Uses the PartitionQuery API request to start a partitioned
query operation.  Returns a list of batch information needed to
perform the actual queries.
- Parameters - sql (str) – SQL query statement 
- params (dict, **{str -> column value}) – values for parameter replacement. Keys must match the names used in - sql.
- param_types (dict[str -> Union[dict, *[types.Type](spanner_v1/types.md#google.cloud.spanner_v1.types.Type)]*]) – (Optional) maps explicit types for one or more param values; required if parameters are passed. 
- partition_size_bytes (int) – (Optional) desired size for each partition generated. The service uses this as a hint, the actual partition size may differ. 
- partition_size_bytes – (Optional) desired size for each partition generated. The service uses this as a hint, the actual partition size may differ. 
- max_partitions (int) – (Optional) desired maximum number of partitions generated. The service uses this as a hint, the actual number of partitions may differ. 
- query_options ( - QueryOptionsor- dict) – (Optional) Query optimizer configuration to use for the given query. If a dict is provided, it must be of the same form as the protobuf message- QueryOptions
- retry ( - Retry) – (Optional) The retry settings for this request.
- timeout (float) – (Optional) The timeout for this request. 
 
- Return type - iterable of dict 
- Returns - mappings of information used perform actual partitioned reads via - process_read_batch().
generate_read_batches(table, columns, keyset, index='', partition_size_bytes=None, max_partitions=None, *, retry=<_MethodDefault._DEFAULT_VALUE:
Start a partitioned batch read operation.
Uses the PartitionRead API request to initiate the partitioned
read.  Returns a list of batch information needed to perform the
actual reads.
- Parameters - table (str) – name of the table from which to fetch data 
- columns (list of str) – names of columns to be retrieved 
- keyset ( - KeySet) – keys / ranges identifying rows to be retrieved
- index (str) – (Optional) name of index to use, rather than the table’s primary key 
- partition_size_bytes (int) – (Optional) desired size for each partition generated. The service uses this as a hint, the actual partition size may differ. 
- max_partitions (int) – (Optional) desired maximum number of partitions generated. The service uses this as a hint, the actual number of partitions may differ. 
- retry ( - Retry) – (Optional) The retry settings for this request.
- timeout (float) – (Optional) The timeout for this request. 
 
- Return type - iterable of dict 
- Returns - mappings of information used perform actual partitioned reads via - process_read_batch().
process(batch)
Process a single, partitioned query or read.
- Parameters - batch (mapping) – one of the mappings returned from an earlier call to - generate_query_batches().
- Return type 
- Returns - a result set instance which can be used to consume rows. 
- Raises - ValueError – if batch does not contain either ‘read’ or ‘query’ 
process_query_batch(batch, *, retry=<_MethodDefault._DEFAULT_VALUE:
Process a single, partitioned query.
- Parameters 
- Return type 
- Returns - a result set instance which can be used to consume rows. 
process_read_batch(batch, *, retry=<_MethodDefault._DEFAULT_VALUE:
Process a single, partitioned read.
- Parameters 
- Return type 
- Returns - a result set instance which can be used to consume rows. 
read(*args, **kw)
Convenience method: perform read operation via snapshot.
See read().
to_dict()
Return state as a dictionary.
Result can be used to serialize the instance and reconstitute
it later using from_dict().
- Return type 
class google.cloud.spanner_v1.database.Database(database_id, instance, ddl_statements=(), pool=None, logger=None, encryption_config=None)
Bases: object
Representation of a Cloud Spanner Database.
We can use a Database to:
- create()the database
- reload()the database
- update()the database
- drop()the database
- Parameters - database_id (str) – The ID of the database. 
- instance ( - Instance) – The instance that owns the database.
- ddl_statements (list of string) – (Optional) DDL statements, excluding the CREATE DATABASE statement. 
- pool (concrete subclass of - AbstractSessionPool.) – (Optional) session pool to be used by database. If not passed, the database will construct an instance of- BurstyPool.
- logger ( - logging.Logger) – (Optional) a custom logger that is used if log_commit_stats is True to log commit statistics. If not passed, a logger will be created when needed that will log the commit statistics to stdout.
- encryption_config ( - EncryptionConfigor- RestoreDatabaseEncryptionConfigor- dict) – (Optional) Encryption configuration for the database. If a dict is provided, it must be of the same form as either of the protobuf messages- EncryptionConfigor- RestoreDatabaseEncryptionConfig
 
batch(request_options=None)
Return an object which wraps a batch.
The wrapper must be used as a context manager, with the batch as the value returned by the wrapper.
- Parameters - request_options ( - google.cloud.spanner_v1.types.RequestOptions) – (Optional) Common options for the commit request. If a dict is provided, it must be of the same form as the protobuf message- RequestOptions.
- Return type - BatchCheckout
- Returns - new wrapper 
batch_snapshot(read_timestamp=None, exact_staleness=None)
Return an object which wraps a batch read / query.
- Parameters - read_timestamp ( - datetime.datetime) – Execute all reads at the given timestamp.
- exact_staleness ( - datetime.timedelta) – Execute all reads at a timestamp that is- exact_stalenessold.
 
- Return type - BatchSnapshot
- Returns - new wrapper 
create()
Create this database within its instance
Includes any configured schema assigned to ddl_statements.
- Return type 
- Returns - a future used to poll the status of the create request 
- Raises - Conflict – if the database already exists 
- NotFound – if the instance owning the database does not exist 
 
property create_time()
Create time of this database.
- Return type 
- Returns - a datetime object representing the create time of this database 
property ddl_statements()
DDL Statements used to define database schema.
See cloud.google.com/spanner/docs/data-definition-language
- Return type - sequence of string 
- Returns - the statements 
drop()
Drop this database.
property earliest_version_time()
The earliest time at which older versions of the data can be read.
- Return type 
- Returns - a datetime object representing the earliest version time 
property encryption_config()
Encryption config for this database.
:rtype: EncryptionConfig
:returns: an object representing the encryption config for this database
property encryption_info()
Encryption info for this database.
:rtype: a list of EncryptionInfo
:returns: a list of objects representing encryption info for this database
execute_partitioned_dml(dml, params=None, param_types=None, query_options=None, request_options=None)
Execute a partitionable DML statement.
- Parameters - dml (str) – DML statement 
- params (dict, **{str -> column value}) – values for parameter replacement. Keys must match the names used in - dml.
- param_types (dict[str -> Union[dict, *[types.Type](spanner_v1/types.md#google.cloud.spanner_v1.types.Type)]*]) – (Optional) maps explicit types for one or more param values; required if parameters are passed. 
- query_options ( - QueryOptionsor- dict) – (Optional) Query optimizer configuration to use for the given query. If a dict is provided, it must be of the same form as the protobuf message- QueryOptions
- request_options ( - google.cloud.spanner_v1.types.RequestOptions) – (Optional) Common options for this request. If a dict is provided, it must be of the same form as the protobuf message- RequestOptions.
 
- Return type 
- Returns - Count of rows affected by the DML statement. 
exists()
Test whether this database exists.
- Return type 
- Returns - True if the database exists, else false. 
classmethod from_pb(database_pb, instance, pool=None)
Creates an instance of this class from a protobuf.
- Parameters - database_pb ( - Instance) – A instance protobuf object.
- instance ( - Instance) – The instance that owns the database.
- pool (concrete subclass of - AbstractSessionPool.) – (Optional) session pool to be used by database.
 
- Return type - Database
- Returns - The database parsed from the protobuf response. 
- Raises - ValueError – if the instance name does not match the expected format or if the parsed project ID does not match the project ID on the instance’s client, or if the parsed instance ID does not match the instance’s ID. 
is_optimized()
Test whether this database has finished optimizing.
- Return type 
- Returns - True if the database state is READY, else False. 
is_ready()
Test whether this database is ready for use.
- Return type 
- Returns - True if the database state is READY_OPTIMIZING or READY, else False. 
list_database_operations(filter_='', page_size=None)
List database operations for the database.
- Parameters 
- Type 
- Returns - Iterator of - Operationresources within the current instance.
list_tables()
List tables within the database.
- Type - Iterable 
- Returns - Iterable of - Tableresources within the current database.
property logger()
Logger used by the database.
The default logger will log commit stats at the log level INFO using sys.stderr.
- Return type - logging.Loggeror None
- Returns - the logger 
property name()
Database name used in requests.
NOTE: This property will not change if database_id does not, but the
return value is not cached.
The database name is of the form
"projects/../instances/../databases/{database_id}"
- Return type 
- Returns - The database name. 
reload()
Reload this database.
Refresh any configured schema into ddl_statements.
- Raises - NotFound – if the database does not exist 
restore(source)
Restore from a backup to this database.
- Parameters - source ( - Backup) – the path of the source being restored from.
- Return type 
- Returns - a future used to poll the status of the create request 
- Raises - Conflict – if the database already exists 
- NotFound – if the instance owning the database does not exist, or if the backup being restored from does not exist 
- ValueError – if backup is not set 
 
property restore_info()
Restore info for this database.
- Return type - RestoreInfo
- Returns - an object representing the restore info for this database 
run_in_transaction(func, *args, **kw)
Perform a unit of work in a transaction, retrying on abort.
- Parameters - func (callable) – takes a required positional argument, the transaction, and additional positional / keyword arguments as supplied by the caller. 
- args (tuple) – additional positional arguments to be passed to - func.
- kw (dict) – (Optional) keyword arguments to be passed to - func. If passed, “timeout_secs” will be removed and used to override the default retry timeout which defines maximum timestamp to continue retrying the transaction.
 
- Return type - Any 
- Returns - The return value of - func.
- Raises - Exception – reraises any non-ABORT exceptions raised by - func.
session(labels=None)
Factory to create a session for this database.
- Parameters - labels (dict* (str -> str) or [None*](https://python.readthedocs.io/en/latest/library/constants.html#None)) – (Optional) user-assigned labels for the session. 
- Return type 
- Returns - a session bound to this database. 
snapshot(**kw)
Return an object which wraps a snapshot.
The wrapper must be used as a context manager, with the snapshot as the value returned by the wrapper.
- Parameters 
- Return type - SnapshotCheckout
- Returns - new wrapper 
property spanner_api()
Helper for session-related API calls.
property state()
State of this database.
- Return type 
- Returns - an enum describing the state of the database 
table(table_id)
Factory to create a table object within this database.
Note: This method does not create a table in Cloud Spanner, but it can be used to check if a table exists.
my_table = database.table("my_table")
if my_table.exists():
    print("Table with ID 'my_table' exists.")
else:
    print("Table with ID 'my_table' does not exist.")
- Parameters - table_id (str) – The ID of the table. 
- Return type 
- Returns - a table owned by this database. 
update_ddl(ddl_statements, operation_id='')
Update DDL for this database.
Apply any configured schema from ddl_statements.
- Parameters 
- Return type 
- Returns - an operation instance 
- Raises - NotFound – if the database does not exist 
property version_retention_period()
The period in which Cloud Spanner retains all versions of data for the database.
- Return type 
- Returns - a string representing the duration of the version retention period 
class google.cloud.spanner_v1.database.SnapshotCheckout(database, **kw)
Bases: object
Context manager for using a snapshot from a database.
Inside the context manager, checks out a session from the database, creates a snapshot from it, making the snapshot available.
Caller must not use the snapshot to perform API requests outside the scope of the context manager.
- Parameters 
_enter_()
Begin with block.
_exit_(exc_type, exc_val, exc_tb)
End with block.