Client¶
Parent client for calling the Google Cloud Bigtable API.
This is the base from which all interactions with the API occur.
In the hierarchy of API concepts
a
Table
owns aColumnFamily
- google.cloud.bigtable.client.ADMIN_SCOPE = 'https://www.googleapis.com/auth/bigtable.admin'¶
Scope for interacting with the Cluster Admin and Table Admin APIs.
- class google.cloud.bigtable.client.Client(project=None, credentials=None, read_only=False, admin=False, client_info=None, client_options=None, admin_client_options=None, channel=None)[source]¶
Bases:
google.cloud.client.ClientWithProject
Client for interacting with Google Cloud Bigtable API.
Note
Since the Cloud Bigtable 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
) – (Optional) The OAuth2 Credentials to use for this client. If not passed, falls back to the default inferred from the environment.read_only (bool) – (Optional) Boolean indicating if the data scope should be for reading only (or for writing as well). Defaults to
False
.admin (bool) – (Optional) Boolean indicating if the client will be used to interact with the Instance Admin or Table Admin APIs. This requires the
ADMIN_SCOPE
. Defaults toFalse
.client_info – 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
ordict
) – (Optional) Client options used to set user options on the client. API Endpoint should be set through client_options.admin_client_options (
ClientOptions
ordict
) – (Optional) Client options used to set user options on the client. API Endpoint for admin operations should be set through admin_client_options.(grpc.Channel) (channel) – (Optional) DEPRECATED: A
Channel
instance through which to make calls. This argument is mutually exclusive withcredentials
; providing both will raise an exception. No longer used.
- Type
client_info:
google.api_core.gapic_v1.client_info.ClientInfo
- Raises
ValueError
if bothread_only
andadmin
areTrue
- instance(instance_id, display_name=None, instance_type=None, labels=None)[source]¶
Factory to create a instance associated with this client.
For example:
from google.cloud.bigtable import Client from google.cloud.bigtable import enums my_instance_id = "inst-my-" + UNIQUE_SUFFIX my_cluster_id = "clus-my-" + UNIQUE_SUFFIX location_id = "us-central1-f" serve_nodes = 1 storage_type = enums.StorageType.SSD production = enums.Instance.Type.PRODUCTION labels = {"prod-label": "prod-label"} client = Client(admin=True) instance = client.instance(my_instance_id, instance_type=production, labels=labels) cluster = instance.cluster( my_cluster_id, location_id=location_id, serve_nodes=serve_nodes, default_storage_type=storage_type, ) operation = instance.create(clusters=[cluster]) # We want to make sure the operation completes. operation.result(timeout=100)
- Parameters
instance_id (str) – The ID of the instance.
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.
instance_type (int) – (Optional) The type of the instance. Possible values are represented by the following constants:
google.cloud.bigtable.instance.InstanceType.PRODUCTION
.google.cloud.bigtable.instance.InstanceType.DEVELOPMENT
, Defaults togoogle.cloud.bigtable.instance.InstanceType.UNSPECIFIED
.labels (dict) – (Optional) Labels are a flexible and lightweight mechanism for organizing cloud resources into groups that reflect a customer’s organizational needs and deployment strategies. They can be used to filter resources and aggregate metrics. Label keys must be between 1 and 63 characters long. Maximum 64 labels can be associated with a given resource. Label values must be between 0 and 63 characters long. Keys and values must both be under 128 bytes.
- Return type
- Returns
an instance owned by this client.
- property instance_admin_client¶
Getter for the gRPC stub used for the Table Admin API.
For example:
from google.cloud.bigtable import Client client = Client(admin=True) instance_admin_client = client.instance_admin_client
- Return type
bigtable_admin_pb2.BigtableInstanceAdmin
- Returns
A BigtableInstanceAdmin instance.
- Raises
ValueError
if the current client is not an admin client or if it has not beenstart()
-ed.
- list_clusters()[source]¶
List the clusters in the project.
For example:
from google.cloud.bigtable import Client client = Client(admin=True) (clusters_list, failed_locations_list) = client.list_clusters()
- Return type
- Returns
(clusters, failed_locations), where ‘clusters’ is list of
google.cloud.bigtable.instance.Cluster
, and ‘failed_locations’ is a list of strings representing locations which could not be resolved.
- list_instances()[source]¶
List instances owned by the project.
For example:
from google.cloud.bigtable import Client client = Client(admin=True) (instances_list, failed_locations_list) = client.list_instances()
- Return type
- Returns
(instances, failed_locations), where ‘instances’ is list of
google.cloud.bigtable.instance.Instance
, and ‘failed_locations’ is a list of locations which could not be resolved.
- property project_path¶
Project name to be used with Instance Admin API.
Note
This property will not change if
project
does not, but the return value is not cached.For example:
from google.cloud.bigtable import Client client = Client(admin=True) project_path = client.project_path
The project name is of the form
"projects/{project}"
- Return type
- Returns
Return a fully-qualified project string.
- property table_admin_client¶
Getter for the gRPC stub used for the Table Admin API.
For example:
from google.cloud.bigtable import Client client = Client(admin=True) table_admin_client = client.table_admin_client
- Return type
bigtable_admin_pb2.BigtableTableAdmin
- Returns
A BigtableTableAdmin instance.
- Raises
ValueError
if the current client is not an admin client or if it has not beenstart()
-ed.
- property table_data_client¶
Getter for the gRPC stub used for the Table Admin API.
For example:
from google.cloud.bigtable import Client client = Client(admin=True) table_data_client = client.table_data_client
- Return type
bigtable_v2.BigtableClient
- Returns
A BigtableClient object.
- google.cloud.bigtable.client.DATA_SCOPE = 'https://www.googleapis.com/auth/bigtable.data'¶
Scope for reading and writing table data.
- google.cloud.bigtable.client.READ_ONLY_SCOPE = 'https://www.googleapis.com/auth/bigtable.data.readonly'¶
Scope for reading table data.