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 -u 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 by creating a service account and setting an environment variable. Complete the following steps to set up authentication. For other ways to authenticate, see the GCP authentication documentation.
Cloud Console
Create a service account:
-
In the Cloud Console, go to the Create service account page.
Go to Create service account - Select a project.
-
In the Service account name field, enter a name. The Cloud Console fills in the Service account ID field based on this name.
In the Service account description field, enter a description. For example,
Service account for quickstart
. - Click Create.
-
Click the Select a role field.
Under Quick access, click Basic, then click Owner.
- Click Continue.
-
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:
- In the Cloud Console, click the email address for the service account that you created.
- Click Keys.
- Click Add key, then click Create new key.
- Click Create. A JSON key file is downloaded to your computer.
- Click Close.
Command line
You can run the following commands using the Cloud SDK on your local machine, or in Cloud Shell.
-
Create the service account. Replace NAME with a name for the service account.
gcloud iam service-accounts create NAME
-
Grant permissions to the service account. Replace PROJECT_ID with your project ID.
gcloud projects add-iam-policy-binding PROJECT_ID --member="serviceAccount:NAME@PROJECT_ID.iam.gserviceaccount.com" --role="roles/owner"
-
Generate the key file. Replace FILE_NAME with a name for the key file.
gcloud iam service-accounts keys create FILE_NAME.json --iam-account=NAME@PROJECT_ID.iam.gserviceaccount.com
Provide authentication credentials to your application code by
setting the environment variable GOOGLE_APPLICATION_CREDENTIALS
.
Replace [PATH] with the file path of the JSON file that contains your
service account key. This variable only applies to your current shell session,
so if you open a new session, set the variable again.
Linux or macOS
export GOOGLE_APPLICATION_CREDENTIALS="[PATH]"
For example:
export GOOGLE_APPLICATION_CREDENTIALS="/home/user/Downloads/my-key.json"
Windows
With PowerShell:
$env:GOOGLE_APPLICATION_CREDENTIALS="[PATH]"
For example:
$env:GOOGLE_APPLICATION_CREDENTIALS="C:\Users\username\Downloads\my-key.json"
With command prompt:
set GOOGLE_APPLICATION_CREDENTIALS=[PATH]
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 the Bigtable Client Libraries.
C#
To learn how to install and use the client library for Bigtable, see the Bigtable Client Libraries.
Go
To learn how to install and use the client library for Bigtable, see the Bigtable Client Libraries.
Java
To learn how to install and use the client library for Bigtable, see the 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 the Bigtable Client Libraries.
PHP
To learn how to install and use the client library for Bigtable, see the Bigtable Client Libraries.
Python
To learn how to install and use the client library for Bigtable, see the Bigtable Client Libraries.
Ruby
To learn how to install and use the client library for Bigtable, see the 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.