This page shows how to get started with the Cloud Client Libraries for the Cloud Bigtable API. Read more about the client libraries for Cloud APIs in Client Libraries Explained.
Installing the client library
C++
See the
GitHub
README
for details about this client library's requirements
and install dependencies.
C#
For more information, see Setting Up a C# Development Environment.
Install-Package Google.Cloud.Bigtable.V2 -Pre Install-Package Google.Cloud.Bigtable.Admin.V2 -Pre
Go
For more information, see Setting Up a Go Development Environment.
go get cloud.google.com/go/bigtable
Java
For more information, see Setting Up a Java Development Environment.
If you are using Maven, add
the following to your pom.xml
file. For more information about
BOMs, see The Google Cloud Platform Libraries BOM.
If you are using Gradle, add the following to your dependencies:
If you are using sbt, add the following to your dependencies:
HBase
The Bigtable HBase client for Java includes the following Maven artifacts that you can use in your project. All of the artifacts are based on HBase 1.x:
-
bigtable-hbase-1.x
: Use this artifact for standalone applications where you control your dependencies. -
bigtable-hbase-1.x-hadoop
: Use this artifact for Hadoop environments. -
bigtable-hbase-1.x-shaded
: Use this artifact for environments other than Hadoop that require older versions of the HBase client for Java's dependencies, such as protobuf and Guava.
The Bigtable Maven artifacts include the
netty-tcnative-boringssl-static
library, which requires that you use Linux, macOS, or Windows on an x86
64-bit processor.
If your application runs in the App Engine standard environment, you must use a current version of the Java runtime. The Java 7 runtime is deprecated and does not support the HBase client for Java.
The following examples assume that you are using the
bigtable-hbase-1.x
artifact.
If you are using Maven, add
the following to your pom.xml
file. For more information about
BOMs, see The Google Cloud Platform Libraries BOM.
If you are using Gradle, add the following to your dependencies:
If you are using sbt, add the following to your dependencies:
Node.js
For more information, see Setting Up a Node.js Development Environment.
npm install --save @google-cloud/bigtable
PHP
For more information, see Using PHP on Google Cloud.
Install and enable the gRPC extension for PHP, then run the following command:composer require google/cloud-bigtable
Python
For more information, see Setting Up a Python Development Environment.
pip install --upgrade google-cloud-bigtable
Ruby
For more information, see Setting Up a Ruby Development Environment.
gem install google-cloud-bigtable
Setting up authentication
To run the client library, you must first set up authentication. One way to do that is to create a service account and set an environment variable, as shown in the following steps. For other ways to authenticate, see Authenticating as a service account.
Create a service account:
In the console, go to the Create service account page.
In the Service account name field, enter a name. The console fills
in the Service account ID field based on this name.
In the Service account description field, enter a description. For example,
To provide access to your project, grant the following role(s) to your
service account: Project > Owner.
In the Select a role list, select a role.
For additional roles, click
Click Done to finish creating the service account.
Do not close your browser window. You will use it in the next step.
Create a service account key:
Console
Service account for quickstart
.
Set up authentication:
Create the service account:
Replace
Grant roles to the service account. Run the following command once for each of the
following IAM roles:
Replace the following:
Generate the key file:
Replace the following:
gcloud
gcloud iam service-accounts create NAME
NAME
with a name for the service account.
roles/owner
:
gcloud projects add-iam-policy-binding PROJECT_ID --member="serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com" --role=ROLE
SERVICE_ACCOUNT_NAME
: the name of the service accountPROJECT_ID
: the project ID where you created the service accountROLE
: the role to grantgcloud iam service-accounts keys create FILE_NAME.json --iam-account=SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
FILE_NAME
: a name for the key fileSERVICE_ACCOUNT_NAME
: the name of the service accountPROJECT_ID
: the project ID where you created the service account
Provide authentication credentials to your application code by setting the
environment variable GOOGLE_APPLICATION_CREDENTIALS
. This
variable applies only to your current shell session. If you want the variable
to apply to future shell sessions, set the variable in your shell startup file,
for example in the ~/.bashrc
or ~/.profile
file.
Linux or macOS
export GOOGLE_APPLICATION_CREDENTIALS="KEY_PATH
"
Replace KEY_PATH
with the path of the JSON file that contains your service account key.
For example:
export GOOGLE_APPLICATION_CREDENTIALS="/home/user/Downloads/service-account-file.json"
Windows
For PowerShell:
$env:GOOGLE_APPLICATION_CREDENTIALS="KEY_PATH
"
Replace KEY_PATH
with the path of the JSON file that contains your service account key.
For example:
$env:GOOGLE_APPLICATION_CREDENTIALS="C:\Users\username\Downloads\service-account-file.json"
For command prompt:
set GOOGLE_APPLICATION_CREDENTIALS=KEY_PATH
Replace KEY_PATH
with the path of the JSON file that contains your service account key.
Using the client library
The following example shows how to use the client library. The example connects to a Bigtable instance and reads a row from a table.
If you haven't stored any data in Bigtable yet, you can use the
cbt
command-line tool to create a table and add some data. See the quickstart
using cbt
for instructions.
C++
To learn how to install and use the client library for Bigtable, see Bigtable client libraries.
C#
To learn how to install and use the client library for Bigtable, see Bigtable client libraries.
Go
To learn how to install and use the client library for Bigtable, see Bigtable client libraries.
Java
To learn how to install and use the client library for Bigtable, see Bigtable client libraries.
HBase
Read more in the API Reference Documentation for the Bigtable HBase Client for Java.
Node.js
To learn how to install and use the client library for Bigtable, see Bigtable client libraries.
PHP
To learn how to install and use the client library for Bigtable, see Bigtable client libraries.
Python
To learn how to install and use the client library for Bigtable, see Bigtable client libraries.
Ruby
To learn how to install and use the client library for Bigtable, see Bigtable client libraries.
Additional resources
C++
C#
Go
Java
HBase
Node.js
PHP
Python
Ruby
Third-party Cloud Bigtable API client libraries
Scio
The Scio client library provides a Scala API for Dataflow, which can read from and write to Bigtable. The Scio repository provides sample code for a Dataflow pipeline that uses Bigtable.