Google Cloud Datastore: Node.js Client
Cloud Datastore Client Library for Node.js
A comprehensive list of changes in each version may be found in the CHANGELOG .
- Google Cloud Datastore Node.js Client API Reference
- Google Cloud Datastore Documentation
- github.com/googleapis/nodejs-datastore
Read more about the client libraries for Cloud APIs, including the older Google APIs Client Libraries, in Client Libraries Explained .
Table of contents:
Quickstart
Before you begin
- Select or create a Cloud Platform project .
- Enable the Google Cloud Datastore API .
- Set up authentication with a service account so you can access the API from your local workstation.
Installing the client library
npm install @google-cloud/datastore
Using the client library
// Imports the Google Cloud client library
const {Datastore} = require(' @google-cloud/datastore
');
// Creates a client
const datastore = new Datastore
();
async function quickstart() {
// The kind for the new entity
const kind = 'Task';
// The name/ID for the new entity
const name = 'sampletask1';
// The Cloud Datastore key for the new entity
const taskKey = datastore. key
([kind, name]);
// Prepares the new entity
const task = {
key: taskKey,
data: {
description: 'Buy milk',
},
};
// Saves the entity
await datastore.save(task);
console.log(`Saved ${task. key
.name}: ${task.data.description}`);
}
quickstart();
Troubleshooting
Emulator returning DEADLINE_EXCEEDED
, java.lang.OutOfMemoryError
Reference Issue: #95
When using the emulator, you may experience errors such as "DEADLINE_EXCEEDED" within your application, corresponding to an error in the emulator: "java.lang.OutOfMemoryError". These errors are unique to the emulator environment and will not persist in production.
A workaround is available, provided by @ohmpatel1997 here .
Samples
Samples are in the samples/
directory. Each sample's README.md
has instructions for running its sample.
Sample | Source Code | Try it |
---|---|---|
Concepts
|
source code | ![]() |
Error
|
source code | ![]() |
Export
|
source code | ![]() |
Import
|
source code | ![]() |
Indexes.get
|
source code | ![]() |
Indexes.list
|
source code | ![]() |
Create a union between two filters
|
source code | ![]() |
Quickstart
|
source code | ![]() |
Add Task
|
source code | ![]() |
Delete Task
|
source code | ![]() |
Legacy Samples
|
source code | ![]() |
List Tasks
|
source code | ![]() |
Update Task
|
source code | ![]() |
The Google Cloud Datastore Node.js Client API Reference documentation also contains samples.
Supported Node.js Versions
Our client libraries follow the Node.js release schedule . Libraries are compatible with all current active and maintenance versions of Node.js. If you are using an end-of-life version of Node.js, we recommend that you update as soon as possible to an actively supported LTS version.
Google's client libraries support legacy versions of Node.js runtimes on a best-efforts basis with the following warnings:
- Legacy versions are not tested in continuous integration.
- Some security patches and features cannot be backported.
- Dependencies cannot be kept up-to-date.
Client libraries targeting some end-of-life versions of Node.js are available, and
can be installed through npm dist-tags
.
The dist-tags follow the naming convention legacy-(version)
.
For example, npm install @google-cloud/datastore@legacy-8
installs client libraries
for versions compatible with Node.js 8.
Versioning
This library follows Semantic Versioning .
This library is considered to be stable. The code surface will not change in backwards-incompatible ways unless absolutely necessary (e.g. because of critical security issues) or with an extensive deprecation period. Issues and requests against stablelibraries are addressed with the highest priority.
More Information: Google Cloud Platform Launch Stages
Contributing
Contributions welcome! See the Contributing Guide .
Please note that this README.md
, the samples/README.md
,
and a variety of configuration files in this repository (including .nycrc
and tsconfig.json
)
are generated from a central template. To edit one of these files, make an edit
to its templates in directory
.
License
Apache Version 2.0
See LICENSE