Set up your environment

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

  1. Go to the Projects page in the Google Cloud console.

    Go to the Projects page

  2. Create a new Google Cloud project, or open an existing project by clicking on the project name.
  3. 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
  4. Make sure that billing is enabled for your Google Cloud project.

  5. You can also learn about Spanner pricing.
  6. Enable the Cloud Spanner API for the project.

    Enable the Cloud Spanner API

    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.

  1. Install the Google Cloud CLI.
  2. To initialize the gcloud CLI, run the following command:

    gcloud init
  3. 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.

  1. Install the Google Cloud CLI.
  2. To initialize the gcloud CLI, run the following command:

    gcloud init
  3. 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.