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 APIs 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 -u 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 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 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
.
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="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 the Cloud Spanner Client Libraries.
C#
To learn how to install and use the client library for Cloud Spanner, see the Cloud Spanner Client Libraries.
Go
To learn how to install and use the client library for Cloud Spanner, see the Cloud Spanner Client Libraries.
Java
To learn how to install and use the client library for Cloud Spanner, see the Cloud Spanner Client Libraries.
Node.js
To learn how to install and use the client library for Cloud Spanner, see the Cloud Spanner Client Libraries.
PHP
To learn how to install and use the client library for Cloud Spanner, see the Cloud Spanner Client Libraries.
Python
To learn how to install and use the client library for Cloud Spanner, see the Cloud Spanner Client Libraries.
Ruby
To learn how to install and use the client library for Cloud Spanner, see the 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.