To use the API, the :class:`Client <google.cloud.bigtable.client.Client>` class defines a high-level interface which handles authorization and creating other objects:
from google.cloud.bigtable.client import Client
client = Client()When creating a :class:`Client <google.cloud.bigtable.client.Client>`, the
user_agent argument has sensible a default
(:data:`DEFAULT_USER_AGENT <google.cloud.bigtable.client.DEFAULT_USER_AGENT>`).
However, you may over-ride it and the value will be used throughout all API
requests made with the client you create.
For an overview of authentication in
google-cloud-python, see :doc:`google-cloud-auth`.In addition to any authentication configuration, you can also set the :envvar:`GOOGLE_CLOUD_PROJECT` environment variable for the Google Cloud Console project you'd like to interact with. If your code is running in Google App Engine or Google Compute Engine the project will be detected automatically. (Setting this environment variable is not required, you may instead pass the
projectexplicitly when constructing a :class:`Client <google.cloud.storage.client.Client>`).After configuring your environment, create a :class:`Client <google.cloud.storage.client.Client>`
>>> from google.cloud import bigtable >>> client = bigtable.Client()
or pass in
credentialsandprojectexplicitly>>> from google.cloud import bigtable >>> client = bigtable.Client(project='my-project', credentials=creds)
Tip
Be sure to use the Project ID, not the Project Number.
If you'll be using your client to make Instance Admin and Table Admin
API requests, you'll need to pass the admin argument:
client = bigtable.Client(admin=True)If, on the other hand, you only have (or want) read access to the data,
you can pass the read_only argument:
client = bigtable.Client(read_only=True)This will ensure that the :data:`READ_ONLY_SCOPE <google.cloud.bigtable.client.READ_ONLY_SCOPE>` is used for API requests (so any accidental requests that would modify data will fail).
After a :class:`Client <google.cloud.bigtable.client.Client>`, the next highest-level object is an :class:`Instance <google.cloud.bigtable.instance.Instance>`. You'll need one before you can interact with tables or data.
Head next to learn about the :doc:`bigtable-instance-api`.