DatastoreClient

DatastoreClient

Each RPC normalizes the partition IDs of the keys in its input entities, and always returns entities with keys with normalized partition IDs. This applies to all keys and entities, including those in values, except keys with both an empty path and an empty or unset partition ID. Normalization of input keys sets the project ID (if not already set) to the project ID from the request.

Constructor

new DatastoreClient(optionsopt)

Construct an instance of DatastoreClient.

Parameters:
Name Type Attributes Description
options object <optional>

The configuration object. See the subsequent parameters for more details.

Properties
Name Type Attributes Description
credentials object <optional>

Credentials object.

Properties
Name Type Attributes Description
client_email string <optional>
private_key string <optional>
email string <optional>

Account email address. Required when using a .pem or .p12 keyFilename.

keyFilename string <optional>

Full path to the a .json, .pem, or .p12 key downloaded from the Google Developers Console. If you provide a path to a JSON file, the projectId option below is not necessary. NOTE: .pem and .p12 require you to specify options.email as well.

port number <optional>

The port on which to connect to the remote host.

projectId string <optional>

The project ID from the Google Developer's Console, e.g. 'grape-spaceship-123'. We will also check the environment variable GCLOUD_PROJECT for your project ID. If your app is running in an environment which supports Application Default Credentials, your project ID will be detected automatically.

promise function <optional>

Custom promise module to use instead of native Promises.

apiEndpoint string <optional>

The domain name of the API remote host.

Source:

Members

(static) apiEndpoint

The DNS address for this API service - same as servicePath(), exists for compatibility reasons.

Source:

(static) port

The port for this API service.

Source:

(static) scopes

The scopes needed to make gRPC calls for every method defined in this service.

Source:

(static) servicePath

The DNS address for this API service.

Source:

Methods

allocateIds(request, optionsopt, callbackopt) → {Promise}

Allocates IDs for the given keys, which is useful for referencing an entity before it is inserted.

Parameters:
Name Type Attributes Description
request Object

The request object that will be sent.

Properties
Name Type Description
projectId string

Required. The ID of the project against which to make the request.

keys Array.<Object>

Required. A list of keys with incomplete key paths for which to allocate IDs. No key may be reserved/read-only.

This object should have the same structure as Key

options Object <optional>

Optional parameters. You can override the default settings for this call, e.g, timeout, retries, paginations, etc. See gax.CallOptions for the details.

callback function <optional>

The function which will be called with the result of the API call.

The second parameter to the callback is an object representing AllocateIdsResponse.

Source:
Example
const datastore = require('@google-cloud/datastore');

const client = new datastore.v1.DatastoreClient({
  // optional auth parameters.
});

const projectId = '';
const keys = [];
const request = {
  projectId: projectId,
  keys: keys,
};
client.allocateIds(request)
  .then(responses => {
    const response = responses[0];
    // doThingsWith(response)
  })
  .catch(err => {
    console.error(err);
  });

beginTransaction(request, optionsopt, callbackopt) → {Promise}

Begins a new transaction.

Parameters:
Name Type Attributes Description
request Object

The request object that will be sent.

Properties
Name Type Attributes Description
projectId string

Required. The ID of the project against which to make the request.

transactionOptions Object <optional>

Options for a new transaction.

This object should have the same structure as TransactionOptions

options Object <optional>

Optional parameters. You can override the default settings for this call, e.g, timeout, retries, paginations, etc. See gax.CallOptions for the details.

callback function <optional>

The function which will be called with the result of the API call.

The second parameter to the callback is an object representing BeginTransactionResponse.

Source:
Example
const datastore = require('@google-cloud/datastore');

const client = new datastore.v1.DatastoreClient({
  // optional auth parameters.
});

const projectId = '';
client.beginTransaction({projectId: projectId})
  .then(responses => {
    const response = responses[0];
    // doThingsWith(response)
  })
  .catch(err => {
    console.error(err);
  });

commit(request, optionsopt, callbackopt) → {Promise}

Commits a transaction, optionally creating, deleting or modifying some entities.

Parameters:
Name Type Attributes Description
request Object

The request object that will be sent.

Properties
Name Type Attributes Description
projectId string

Required. The ID of the project against which to make the request.

mode number <optional>

The type of commit to perform. Defaults to TRANSACTIONAL.

The number should be among the values of Mode

transaction Buffer <optional>

The identifier of the transaction associated with the commit. A transaction identifier is returned by a call to Datastore.BeginTransaction.

mutations Array.<Object> <optional>

The mutations to perform.

When mode is TRANSACTIONAL, mutations affecting a single entity are applied in order. The following sequences of mutations affecting a single entity are not permitted in a single Commit request:

  • insert followed by insert
  • update followed by insert
  • upsert followed by insert
  • delete followed by update

When mode is NON_TRANSACTIONAL, no two mutations may affect a single entity.

This object should have the same structure as Mutation

options Object <optional>

Optional parameters. You can override the default settings for this call, e.g, timeout, retries, paginations, etc. See gax.CallOptions for the details.

callback function <optional>

The function which will be called with the result of the API call.

The second parameter to the callback is an object representing CommitResponse.

Source:
Example
const datastore = require('@google-cloud/datastore');

const client = new datastore.v1.DatastoreClient({
  // optional auth parameters.
});

const projectId = '';
client.commit({projectId: projectId})
  .then(responses => {
    const response = responses[0];
    // doThingsWith(response)
  })
  .catch(err => {
    console.error(err);
  });

getProjectId(callback)

Return the project ID used by this class.

Parameters:
Name Type Description
callback function

the callback to be called with the current project Id.

Source:

lookup(request, optionsopt, callbackopt) → {Promise}

Looks up entities by key.

Parameters:
Name Type Attributes Description
request Object

The request object that will be sent.

Properties
Name Type Attributes Description
projectId string

Required. The ID of the project against which to make the request.

keys Array.<Object>

Required. Keys of entities to look up.

This object should have the same structure as Key

readOptions Object <optional>

The options for this lookup request.

This object should have the same structure as ReadOptions

options Object <optional>

Optional parameters. You can override the default settings for this call, e.g, timeout, retries, paginations, etc. See gax.CallOptions for the details.

callback function <optional>

The function which will be called with the result of the API call.

The second parameter to the callback is an object representing LookupResponse.

Source:
Example
const datastore = require('@google-cloud/datastore');

const client = new datastore.v1.DatastoreClient({
  // optional auth parameters.
});

const projectId = '';
const keys = [];
const request = {
  projectId: projectId,
  keys: keys,
};
client.lookup(request)
  .then(responses => {
    const response = responses[0];
    // doThingsWith(response)
  })
  .catch(err => {
    console.error(err);
  });

reserveIds(request, optionsopt, callbackopt) → {Promise}

Prevents the supplied keys' IDs from being auto-allocated by Cloud Datastore.

Parameters:
Name Type Attributes Description
request Object

The request object that will be sent.

Properties
Name Type Attributes Description
projectId string

Required. The ID of the project against which to make the request.

keys Array.<Object>

Required. A list of keys with complete key paths whose numeric IDs should not be auto-allocated.

This object should have the same structure as Key

databaseId string <optional>

If not empty, the ID of the database against which to make the request.

options Object <optional>

Optional parameters. You can override the default settings for this call, e.g, timeout, retries, paginations, etc. See gax.CallOptions for the details.

callback function <optional>

The function which will be called with the result of the API call.

The second parameter to the callback is an object representing ReserveIdsResponse.

Source:
Example
const datastore = require('@google-cloud/datastore');

const client = new datastore.v1.DatastoreClient({
  // optional auth parameters.
});

const projectId = '';
const keys = [];
const request = {
  projectId: projectId,
  keys: keys,
};
client.reserveIds(request)
  .then(responses => {
    const response = responses[0];
    // doThingsWith(response)
  })
  .catch(err => {
    console.error(err);
  });

rollback(request, optionsopt, callbackopt) → {Promise}

Rolls back a transaction.

Parameters:
Name Type Attributes Description
request Object

The request object that will be sent.

Properties
Name Type Description
projectId string

Required. The ID of the project against which to make the request.

transaction Buffer

Required. The transaction identifier, returned by a call to Datastore.BeginTransaction.

options Object <optional>

Optional parameters. You can override the default settings for this call, e.g, timeout, retries, paginations, etc. See gax.CallOptions for the details.

callback function <optional>

The function which will be called with the result of the API call.

The second parameter to the callback is an object representing RollbackResponse.

Source:
Example
const datastore = require('@google-cloud/datastore');

const client = new datastore.v1.DatastoreClient({
  // optional auth parameters.
});

const projectId = '';
const transaction = Buffer.from('');
const request = {
  projectId: projectId,
  transaction: transaction,
};
client.rollback(request)
  .then(responses => {
    const response = responses[0];
    // doThingsWith(response)
  })
  .catch(err => {
    console.error(err);
  });

runQuery(request, optionsopt, callbackopt) → {Promise}

Queries for entities.

Parameters:
Name Type Attributes Description
request Object

The request object that will be sent.

Properties
Name Type Attributes Description
projectId string

Required. The ID of the project against which to make the request.

partitionId Object <optional>

Entities are partitioned into subsets, identified by a partition ID. Queries are scoped to a single partition. This partition ID is normalized with the standard default context partition ID.

This object should have the same structure as PartitionId

readOptions Object <optional>

The options for this query.

This object should have the same structure as ReadOptions

query Object <optional>

The query to run.

This object should have the same structure as Query

gqlQuery Object <optional>

The GQL query to run.

This object should have the same structure as GqlQuery

options Object <optional>

Optional parameters. You can override the default settings for this call, e.g, timeout, retries, paginations, etc. See gax.CallOptions for the details.

callback function <optional>

The function which will be called with the result of the API call.

The second parameter to the callback is an object representing RunQueryResponse.

Source:
Example
const datastore = require('@google-cloud/datastore');

const client = new datastore.v1.DatastoreClient({
  // optional auth parameters.
});

const projectId = '';
client.runQuery({projectId: projectId})
  .then(responses => {
    const response = responses[0];
    // doThingsWith(response)
  })
  .catch(err => {
    console.error(err);
  });