This page walks you through the setup steps required to use the Cloud Spanner API with the Google Cloud CLI, client libraries, and Spanner drivers.
If you want to use Spanner with the Google Cloud console, see Quickstart using the console.
Set up a Google Cloud project
-
Go to the Projects page in the Google Cloud console.
- Create a new Google Cloud project, or open an existing project by clicking on the project name.
-
Open a terminal window, and set your project as the default project for the Google Cloud CLI, replacing
MY_PROJECT_ID
with your project ID (not your project name):gcloud config set project MY_PROJECT_ID
-
Make sure that billing is enabled for your Google Cloud project.
You can also learn about Spanner pricing.
-
Enable the Cloud Spanner API for the project.
Note: If you use a service account in a different project to access your Spanner instance, you need to enable the Spanner API in both projects.
Set up authentication
Select the tabs for how you plan to access the API:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
To set up the gcloud CLI to use service account impersonation to authenticate to Google APIs, rather than your user credentials, run the following command:
gcloud config set auth/impersonate_service_account SERVICE_ACCT_EMAIL
For more information, see Service account impersonation.
Terraform
To use Terraform code in a local development environment, install and initialize the gcloud CLI, and then set up Application Default Credentials with your user credentials.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
For more information, see Set up authentication for a local development environment.
Client libraries
To use client libraries in a local development environment, install and initialize the gcloud CLI, and then set up Application Default Credentials with your user credentials.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
For more information, see Set up authentication for a local development environment.
To set up your local ADC file to use service account impersonation to authenticate to Google APIs, rather than your user credentials, run the following command:
gcloud auth application-default login --impersonate-service-account=SERVICE_ACCT_EMAIL
For more information, see Service account impersonation.
REST
To use the REST API in a local development environment, you use the credentials you provide to the gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
For more information, see Authenticate for using REST in the Google Cloud authentication documentation.
You can use service account impersonation to generate an access token for REST API requests. For more information, see Impersonated service account.
Run the Google Cloud CLI
Now that you've set up your development environment and authentication, run the
gcloud
command-line tool to interact with
Spanner:
gcloud spanner instance-configs list
You should see a list of the Spanner instance configurations that your project can access, including regional, dual-region, and multi-region configurations. For more information, see the Instances overview.
You've completed the setup!
What's next
Learn how to use the Cloud Client Libraries and drivers to create a Spanner instance, database, tables, and indexes. Then store, query, and read data in Spanner.
- Getting started with Spanner in C++
- Getting started with Spanner in C#
- Getting started with Spanner in Go
- Getting started with Spanner in Java
- Getting started with Spanner in JDBC
- Getting started with Spanner in Node.js
- Getting started with Spanner in PHP
- Getting started with Spanner in Python
- Getting started with Spanner in Ruby
- Getting started with Spanner in REST
- Getting started with Spanner in gcloud