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=False)

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 or unicode) – (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 or NoneType) – (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. If None, 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 or dict) – (Optional) Client options used to set user options on the client. API Endpoint should be set through client_options.

    • query_options (QueryOptions or 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

    • route_to_leader_enabled (boolean) – (Optional) Default False. Set route_to_leader_enabled as True to

      Enable leader aware routing. Enabling leader aware routing would route all requests in RW/PDML transactions to the leader region.

  • Raises

    ValueError if both read_only and admin are True

SCOPE(: Optional[Tuple[str, ...] = ('https://www.googleapis.com/auth/spanner.admin', )

The scopes required for Google Cloud Spanner.

copy()

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

    Client

  • Returns

    A copy of the current client.

property credentials()

Getter for client’s credentials.

  • Return type

    Credentials

  • Returns

    The credentials stored on the client.

property database_admin_api()

Helper for session-related API calls.

instance(instance_id, configuration_name=None, display_name=None, node_count=None, labels=None, processing_units=None)

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*](https://python.readthedocs.io/en/latest/library/constants.html#None)) – (Optional) User-assigned labels for this instance.

  • Return type

    Instance

  • Returns

    an instance owned by this client.

property instance_admin_api()

Helper for session-related API calls.

list_instance_configs(page_size=None)

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

    Iterator

  • Returns

    Iterator of InstanceConfig resources within the client’s project.

list_instances(filter_='', page_size=None)

List instances for the client’s project.

See https://cloud.google.com/spanner/reference/rpc/google.spanner.admin.database.v1#google.spanner.admin.database.v1.InstanceAdmin.ListInstances

  • 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

    Iterator

  • 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

    str

  • 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.