This page shows how to get started with the Cloud Client Libraries for the Cloud Spanner API. Read more about the client libraries for Cloud APIs, including the older Google API Client Libraries, in Client Libraries Explained.
The Cloud Spanner client libraries mentioned on this page are supported on Compute Engine, App Engine flexible environment, Google Kubernetes Engine, and Cloud Functions. The Cloud Spanner client library for Java is supported on App Engine standard environment with Java 8.
If you are using the App Engine standard environment with Go, PHP, or Python, use the REST interface to access Cloud Spanner.
Installing the client library
C++
See the GitHub quickstart documents for details about this client library's requirements and install dependencies.C#
For more information, see Setting Up a C# Development Environment.
To install theGoogle.Cloud.Spanner.Data
client library in Visual Studio,
do the following:
Right-click your solution in Visual Studio and select Manage Nuget packages for solution.
Select the Include prerelease checkbox.
Search for and install the package named
Google.Cloud.Spanner.Data
.
Go
For more information, see Setting Up a Go Development Environment.
go get cloud.google.com/go/spanner/...
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:
If you're using Visual Studio Code, IntelliJ, or Eclipse, you can add client libraries to your project using the following IDE plugins:
The plugins provide additional functionality, such as key management for service accounts. Refer to each plugin's documentation for details.
Node.js
For more information, see Setting Up a Node.js Development Environment.
npm install --save @google-cloud/spanner
PHP
For more information, see Using PHP on Google Cloud.
composer require google/cloud-spanner
Python
For more information, see Setting Up a Python Development Environment.
pip install --upgrade google-cloud-spanner
Ruby
For more information, see Setting Up a Ruby Development Environment.
gem install google-cloud-spanner
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 Google Cloud console, go to the Create service account page.
In the Service account name field, enter a name. The Google Cloud 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.
C++
To learn how to install and use the client library for Cloud Spanner, see Cloud Spanner client libraries.
C#
To learn how to install and use the client library for Cloud Spanner, see Cloud Spanner client libraries.
Go
To learn how to install and use the client library for Cloud Spanner, see Cloud Spanner client libraries.
Java
To learn how to install and use the client library for Cloud Spanner, see Cloud Spanner client libraries.
Node.js
To learn how to install and use the client library for Cloud Spanner, see Cloud Spanner client libraries.
PHP
To learn how to install and use the client library for Cloud Spanner, see Cloud Spanner client libraries.
Python
To learn how to install and use the client library for Cloud Spanner, see Cloud Spanner client libraries.
Ruby
To learn how to install and use the client library for Cloud Spanner, see Cloud Spanner client libraries.
Additional resources
C++
C#
Go
Java
Node.js
PHP
Python
Ruby
Additional client libraries
In addition to the libraries shown above, a Spring Data module is available for Java applications. Spring Data Cloud Spanner helps you use Cloud Spanner in any application that's built with the Spring Framework.
To get started, learn how to add Spring Data Cloud Spanner to your application.