Spanner Client¶
Parent client for calling the Cloud Spanner API.
This is the base from which all interactions with the API occur.
In the hierarchy of API concepts
- class google.cloud.spanner_v1.client.Client(project=None, credentials=None, client_info=<google.api_core.gapic_v1.client_info.ClientInfo object>, client_options=None, query_options=None, route_to_leader_enabled=True, directed_read_options=None)[source]¶
Bases:
google.cloud.client.ClientWithProject
Client for interacting with Cloud Spanner API.
Note
Since the Cloud Spanner API requires the gRPC transport, no
_http
argument is accepted by this class.- Parameters
project (
str
orunicode
) – (Optional) The ID of the project which owns the instances, tables and data. If not provided, will attempt to determine from the environment.credentials (
Credentials
orNoneType
) – (Optional) The authorization credentials to attach to requests. These credentials identify this application to the service. If none are specified, the client will attempt to ascertain the credentials from the environment.client_info (
ClientInfo
) – (Optional) The client info used to send a user-agent string along with API requests. IfNone
, then default info will be used. Generally, you only need to set this if you’re developing your own library or partner tool.client_options (
ClientOptions
ordict
) – (Optional) Client options used to set user options on the client. API Endpoint should be set through client_options.query_options (
QueryOptions
ordict
) – (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 messageQueryOptions
route_to_leader_enabled (boolean) – (Optional) Default True. Set route_to_leader_enabled as False to disable leader aware routing. Disabling leader aware routing would route all requests in RW/PDML transactions to the closest region.
directed_read_options (
DirectedReadOptions
ordict
) – (Optional) Client options used to set the directed_read_options for all ReadRequests and ExecuteSqlRequests that indicates which replicas or regions should be used for non-transactional reads or queries.
- Raises
ValueError
if bothread_only
andadmin
areTrue
- SCOPE: Union[Tuple[str, ...], None] = ('https://www.googleapis.com/auth/spanner.admin',)¶
The scopes required for Google Cloud Spanner.
- copy()[source]¶
Make a copy of this client.
Copies the local data stored as simple types but does not copy the current state of any open connections with the Cloud Bigtable API.
- Return type
- Returns
A copy of the current client.
- property credentials¶
Getter for client’s credentials.
- Return type
- Returns
The credentials stored on the client.
- property database_admin_api¶
Helper for session-related API calls.
- property directed_read_options¶
Getter for directed_read_options.
- Return type
DirectedReadOptions
ordict
- Returns
The directed_read_options for the client.
- instance(instance_id, configuration_name=None, display_name=None, node_count=None, labels=None, processing_units=None)[source]¶
Factory to create a instance associated with this client.
- Parameters
instance_id (str) – The ID of the instance.
configuration_name (string) – (Optional) Name of the instance configuration used to set up the instance’s cluster, in the form:
projects/<project>/instanceConfigs/
<config>
. Required for instances which do not yet exist.display_name (str) – (Optional) The display name for the instance in the Cloud Console UI. (Must be between 4 and 30 characters.) If this value is not set in the constructor, will fall back to the instance ID.
node_count (int) – (Optional) The number of nodes in the instance’s cluster; used to set up the instance’s cluster.
processing_units (int) – (Optional) The number of processing units allocated to this instance.
labels (dict (str -> str) or None) – (Optional) User-assigned labels for this instance.
- Return type
- Returns
an instance owned by this client.
- property instance_admin_api¶
Helper for session-related API calls.
- list_instance_configs(page_size=None)[source]¶
List available instance configurations for the client’s project.
See RPC docs.
- Parameters
page_size (int) – Optional. The maximum number of configs in each page of results from this request. Non-positive values are ignored. Defaults to a sensible value set by the API.
- Return type
- Returns
Iterator of
InstanceConfig
resources within the client’s project.
- list_instances(filter_='', page_size=None)[source]¶
List instances for the client’s project.
- Parameters
filter (string) – (Optional) Filter to select instances listed. See the
ListInstancesRequest
docs above for examples.page_size (int) – Optional. The maximum number of instances in each page of results from this request. Non-positive values are ignored. Defaults to a sensible value set by the API.
- Return type
- Returns
Iterator of
Instance
resources within the client’s project.
- property project_name¶
Project name to be used with Spanner APIs.
Note
This property will not change if
project
does not, but the return value is not cached.The project name is of the form
"projects/{project}"
- Return type
- Returns
The project name to be used with the Cloud Spanner Admin API RPC service.
- property route_to_leader_enabled¶
Getter for if read-write or pdml requests will be routed to leader.
- Return type
boolean
- Returns
If read-write requests will be routed to leader.