This page shows how to get started with the Cloud Client Libraries for the Google Cloud Datastore API. Read more about the client libraries for Cloud APIs, including the older Google APIs Client Libraries, in Client Libraries Explained.
Installing the client library
C#
For more information, see Setting Up a C# Development Environment.Install-Package Google.Cloud.Datastore.V1
Go
go get -u cloud.google.com/go/datastore
Java
For more information, see Setting Up a Java Development Environment. If you are using Maven, add the following to yourpom.xml file:
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/datastore
PHP
composer require google/cloud-datastore
Python
For more information, see Setting Up a Python Development Environment.pip install --upgrade google-cloud-datastore
Ruby
For more information, see Setting Up a Ruby Development Environment.gem install google-cloud-datastore
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.
Note: The Role field authorizes your service account to access resources. You can view and change this field later by using the Cloud Console. If you are developing a production app, specify more granular permissions than Project > Owner. For more information, see granting roles to service accounts.- 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"
Note: The Role field authorizes your service account to access resources. You can view and change this field later by using Cloud Console. If you are developing a production app, specify more granular permissions than Project > Owner. For more information, see granting roles to service accounts. -
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, and [FILE_NAME] with the filename. 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/[FILE_NAME].json"
Windows
With PowerShell:
$env:GOOGLE_APPLICATION_CREDENTIALS="[PATH]"
For example:
$env:GOOGLE_APPLICATION_CREDENTIALS="C:\Users\username\Downloads\[FILE_NAME].json"
With command prompt:
set GOOGLE_APPLICATION_CREDENTIALS=[PATH]
Using the client library
The following example shows how to use the client library.
C#
Before trying this sample, follow the C# setup instructions in Setting Up a C# Development Environment . For more information, see the Datastore mode C# API reference documentation .
Go
To use this sample, prepare your machine for Go development, and complete the Datastore mode quickstart. For more information, see the Datastore mode Go API reference documentation .
Java
Before trying this sample, follow the Java setup instructions in Setting Up a Java Development Environment . For more information, see the Datastore mode Java API reference documentation .
Node.js
Before trying this sample, follow the Node.js setup instructions in Setting Up a Node.js Development Environment . For more information, see the Datastore mode Node.js API reference documentation .
PHP
To use this sample, prepare your machine for PHP development, and complete the Datastore mode quickstart. For more information, see the Datastore mode PHP API reference documentation .
Python
Before trying this sample, follow the Python setup instructions in Setting Up a Python Development Environment . For more information, see the Datastore mode Python API reference documentation .
Ruby
Before trying this sample, follow the Ruby setup instructions in Setting Up a Ruby Development Environment . For more information, see the Datastore mode Ruby API reference documentation .
Additional resources
C#
Go
Java
Node.js
PHP
Python
Ruby
Dependency on App Engine application
If you are using a Google Cloud library to access Datastore mode, your Cloud project requires an active App Engine application. Open the App Engine dashboard and confirm your Cloud project has an active App Engine app. Create an App Engine app if needed. The app must not be disabled.
Google App Engine Standard Environment Client Libraries
Integrate Cloud Firestore in Datastore mode with your App Engine Standard Environment applications by using the App Engine client libraries.
| Language | Library |
|---|---|
| Go | Google App Engine SDK for Go |
| Java | Google App Engine SDK for Java |
| Python 2 | Google Datastore NDB Client Library |
| Python 3 | Google Cloud Datastore client library. |
Third-party Datastore API client libraries
In addition to the Google-supported client libraries listed in the tables above, a set of third-party libraries are available.
| Language | Library |
|---|---|
| Java | Objectify |
| Java | Catatumbo |
| PHP | Datastore Library for PHP |
| Node.js | js-data-cloud-datastore |


