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.client.Client(project=None, credentials=None, user_agent='gcloud-python/0.23.1')[source]#

Bases: google.cloud.client._ClientFactoryMixin, google.cloud.client._ClientProjectMixin

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 (OAuth2Credentials or NoneType) – (Optional) The OAuth2 Credentials to use for this client. If not provided, defaults to the Google Application Default Credentials.
  • user_agent (str) – (Optional) The user agent to be used with API request. Defaults to DEFAULT_USER_AGENT.
Raises:

ValueError if both read_only and admin are True

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:Client
Returns:A copy of the current client.
credentials#

Getter for client’s credentials.

Return type:OAuth2Credentials
Returns:The credentials stored on the client.
database_admin_api#

Helper for session-related API calls.

instance(instance_id, configuration_name=None, display_name=None, node_count=1)[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.
Return type:

Instance

Returns:

an instance owned by this client.

instance_admin_api#

Helper for session-related API calls.

list_instance_configs(page_size=None, page_token=None)[source]#

List available instance configurations for the client’s project.

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

Parameters:
  • page_size (int) – (Optional) Maximum number of results to return.
  • page_token (str) – (Optional) Token for fetching next page of results.
Return type:

Iterator

Returns:

Iterator of InstanceConfig resources within the client’s project.

list_instances(filter_='', page_size=None, page_token=None)[source]#

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) Maximum number of results to return.
  • page_token (str) – (Optional) Token for fetching next page of results.
Return type:

Iterator

Returns:

Iterator of Instance resources within the client’s project.

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.
class google.cloud.spanner.client.InstanceConfig(name, display_name)[source]#

Bases: object

Named configurations for Spanner instances.

Parameters:
  • name (str) – ID of the instance configuration
  • display_name (str) – Name of the instance configuration
classmethod from_pb(config_pb)[source]#

Construct an instance from the equvalent protobuf.

Parameters:config_pb (InstanceConfig) – the protobuf to parse
Return type:InstanceConfig
Returns:an instance of this class