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>, user_agent=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 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.

  • client_info (google.api_core.gapic_v1.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.

  • user_agent (str) – (Deprecated) The user agent to be used with API request. Not used.

Raises

ValueError if both read_only and admin are True

SCOPE = ('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

Client

Returns

A copy of the current client.

property credentials#

Getter for client’s credentials.

Return type

OAuth2Credentials

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

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

  • page_token (str) – Optional. If present, return the next batch of configs, using the value, which must correspond to the nextPageToken value returned in the previous response. Deprecated: use the pages property of the returned iterator instead of manually passing the token.

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

  • page_token (str) – Optional. If present, return the next batch of instances, using the value, which must correspond to the nextPageToken value returned in the previous response. Deprecated: use the pages property of the returned iterator instead of manually passing the token.

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.

class google.cloud.spanner_v1.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