- 3.46.0 (latest)
- 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
Snapshot API
Model a set of read-only queries to a database as a snapshot.
class google.cloud.spanner_v1.snapshot.Snapshot(session, read_timestamp=None, min_read_timestamp=None, max_staleness=None, exact_staleness=None, multi_use=False)
Allow a set of reads / SQL statements with shared staleness.
If no options are passed, reads will use the strong
model, reading
at a timestamp where all previously committed transactions are visible.
Parameters
session (
Session
) – The session used to perform the commit.read_timestamp (
datetime.datetime
) – Execute all reads at the given timestamp.min_read_timestamp (
datetime.datetime
) – Execute all reads at a timestamp >=min_read_timestamp
.max_staleness (
datetime.timedelta
) – Read data at a timestamp >= NOW -max_staleness
seconds.exact_staleness (
datetime.timedelta
) – Execute all reads at a timestamp that isexact_staleness
old.multi_use (
bool
) – If true, multipleread()
/execute_sql()
calls can be performed with the snapshot in the context of a read-only transaction, used to ensure isolation / consistency. Incompatible withmax_staleness
andmin_read_timestamp
.
begin()
Begin a read-only transaction on the database.
Return type
Returns
the ID for the newly-begun transaction.
Raises
ValueError – if the transaction is already begun, committed, or rolled back.
execute_sql(sql, params=None, param_types=None, query_mode=None, query_options=None, request_options=None, partition=None, retry=<_MethodDefault._DEFAULT_VALUE:
Perform an ExecuteStreamingSql
API request.
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.
query_mode (
QueryMode
) – Mode governing return of results / query plan. See: QueryMode.query_options – (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 messageRequestOptions
.partition (bytes) – (Optional) one of the partition tokens returned from
partition_query()
.retry (
Retry
) – (Optional) The retry settings for this request.timeout (float) – (Optional) The timeout for this request.
data_boost_enabled – (Optional) If this is for a partitioned query and this field is set
true
, the request will be executed via offline access. If the field is set totrue
but the request does not setpartition_token
, the API will return anINVALID_ARGUMENT
error.
Return type
Returns
a result set instance which can be used to consume rows.
Raises
ValueError – for reuse of single-use snapshots, or if a transaction ID is already pending for multiple-use snapshots.
partition_query(sql, params=None, param_types=None, partition_size_bytes=None, max_partitions=None, *, retry=<_MethodDefault._DEFAULT_VALUE:
Perform a PartitionQuery
API request.
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.
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 bytes
Returns
a sequence of partition tokens
Raises
ValueError – for single-use snapshots, or if a transaction ID is already associated with the snapshot.
partition_read(table, columns, keyset, index='', partition_size_bytes=None, max_partitions=None, *, retry=<_MethodDefault._DEFAULT_VALUE:
Perform a PartitionRead
API request for rows in a table.
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 retrievedindex (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 bytes
Returns
a sequence of partition tokens
Raises
ValueError – for single-use snapshots, or if a transaction ID is already associated with the snapshot.
read(table, columns, keyset, index='', limit=0, partition=None, request_options=None, data_boost_enabled=False, *, retry=<_MethodDefault._DEFAULT_VALUE:
Perform a StreamingRead
API request for rows in a table.
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 retrievedindex (str) – (Optional) name of index to use, rather than the table’s primary key
limit (int) – (Optional) maximum number of rows to return. Incompatible with
partition
.partition (bytes) – (Optional) one of the partition tokens returned from
partition_read()
. Incompatible withlimit
.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 messageRequestOptions
. Please note, the transactionTag setting will be ignored for snapshot as it’s not supported for read-only transactions.retry (
Retry
) – (Optional) The retry settings for this request.timeout (float) – (Optional) The timeout for this request.
data_boost_enabled – (Optional) If this is for a partitioned read and this field is set
true
, the request will be executed via offline access. If the field is set totrue
but the request does not setpartition_token
, the API will return anINVALID_ARGUMENT
error.
Return type
Returns
a result set instance which can be used to consume rows.
Raises
ValueError – for reuse of single-use snapshots, or if a transaction ID is already pending for multiple-use snapshots.