Accessing your database

This page describes how to access a Cloud Firestore in Datastore mode database from different platforms, how to enable billing, and how to set a spending limit.

Before you begin

This page assumes you already created a Datastore mode database. You can create a database by completing the Cloud Firestore in Datastore mode Quickstart.

Accessing your database from App Engine

To get started with Datastore mode and App Engine, see one of the following language-specific pages:

App Engine Standard Environment App Engine Flexible Environment

Datastore mode permissions for App Engine

App Engine apps can access a Datastore mode database in the same project by default. Each App Engine app uses an App Engine default service account to manage access to GCP services like Cloud Firestore. By default, the App Engine default service account has the Project Editor IAM role, which includes full read and write access to Datastore mode.

You can modify the IAM permissions of your App Engine default service account, but your app may lose access to Cloud Firestore unless you assign an IAM role with the required Cloud Firestore permissions. The Cloud Datastore Owner and Cloud Datastore User IAM roles, for example, grant read and write access to Cloud Firestore in Datastore mode.

If you delete your App Engine default service account, you must restore your App Engine service account to access Cloud Firestore.

Accessing your database from a Compute Engine instance

This section shows how to activate and access a Datastore mode database from a Compute Engine VM instance in a new or existing project.

  1. Enable the Google Compute Engine API for your project.
    Enable the Compute Engine API
  2. Make sure that billing is enabled for your Google Cloud Platform project. Learn how to enable billing.

  3. Create a Compute Engine instance.

Console

  1. In the Google Cloud Platform Console, go to the VM Instances page.
  2. Click the Create instance button.
  3. In the Identity and API access section, set Access scopes to provide access for Datastore. Either click Allow full access to all Cloud APIs to grant access to all Google Cloud APIs, or click Set access for each API, click the dropdown for Cloud Datastore, and then click Enabled to grant access to Cloud Datastore.
  4. Click the Create button to create the instance.
  5. Confirm that your instance is running.
  6. To use this new Compute Engine instance, connect to it using your browser.

gcloud

  1. If you haven't already done this, install the gcloud command-line tool and set up gcloud compute.
  2. Add a Google Compute Engine instance and start it, following the instructions for starting an instance in the Google Compute Engine documentation. Specify the project ID, the instance name, and the datastore scope as shown here, where [YOUR_PROJECT_ID] is the ID of the project you created previously and [YOUR_INSTANCE_NAME] is the name you want to use for your Compute Engine instance:

    export PROJECT_ID=[YOUR_PROJECT_ID]
    export INSTANCE_NAME=[YOUR_INSTANCE_NAME]
    gcloud compute instances create $INSTANCE_NAME --project $PROJECT_ID --scopes datastore
    
  3. Confirm that your instance is running.

  4. To use this new Compute Engine instance, connect to it using ssh.

At this point all services and authorizations are configured for your project and you can start writing code or exploring the API.

Accessing your database from another platform

This section shows how to access your Datastore mode database from an external application running on a platform outside of Google Cloud Platform.

  1. Go to the Create Service Account Key page in Google Cloud Platform Console.

    Go to the Create Service Account Key page

  2. Click the drop-down box below Service account, then click New service account.

  3. Enter a name for the service account in Service account name.

  4. Under the Role dropdown, select an IAM role that grants access to your database such as Cloud Datastore Owner.

  5. Use the default Service account ID or generate a different one.

  6. Select JSON in Key type.

  7. Click Create.

  8. Upon successful creation, your browser will download the private key. The GCP Console provides a prompt that displays the private key file name. Note the file name so you can locate it, then click Close to dismiss the prompt.

  9. Your Service Account is the Email address displayed under the Service Account section.

  10. Your Private Key is the file you just downloaded.

Use this service account to configure credentials for your application code as described in Providing service account credentials.

Quotas and billing

A certain amount of free quota is available, as described in Pricing and Quota. This means you aren't required to enable billing to get started or to use Cloud Firestore in Datastore mode up to the free quota limits. However, if you need more resources than is provided by the free quota, you must enable billing and set a spending limit for your project.

Enabling billing and setting a spending limit

The spending limit is a daily limit: it sets the maximum dollar amount of resources you will be charged for each day. After this limit is reached, no further costs will be incurred, but also, no further billable Cloud Firestore in Datastore mode operations will be allowed. You'll need to specify a spending limit because the initial default spending limit is always 0, which means by default you cannot exceed the free quota, even with billing enabled.

Cloud Firestore resources are part of App Engine resources. The spending limit for App Engine resources are set in the App Engine Application settings.

To enable billing:

  1. Make sure that billing is enabled for your Google Cloud Platform project. Learn how to enable billing.

To set a spending limit:

  1. Go to the Application settings.
    Go to the Application settings
  2. Click Edit and specify a spending limit.
  3. Click Save.

The spending limit only applies to App Engine resources, which includes Cloud Firestore, for the selected project:

  • You may still be charged for other Google Cloud Platform resources.
  • If you have multiple projects, you may want to set the spending limit for each project.

When you increase the daily spending limit, the new limit takes effect immediately.

For more information, see Spending Limits.

Was this page helpful? Let us know how we did:

Send feedback about...

Cloud Datastore Documentation