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
-
In the Cloud Console, go to the Create service account key page.
Go to the Create Service Account Key page - From the Service account list, select New service account.
- In the Service account name field, enter a name.
From the Role list, select Project > Owner.
- Click Create. A JSON file that contains your key downloads to your computer.
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.
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.