google-cloud-datastore overview (2.14.0)

com.google.cloud.datastore

A client for Cloud Datastore – A highly-scalable NoSQL database for web and mobile applications.

Here's a simple usage example for using google-cloud from App/Compute Engine. This example shows how to create a Datastore entity. For the complete source code see CreateEntity.java.


 Datastore datastore = DatastoreOptions.getDefaultInstance().getService();
 KeyFactory keyFactory = datastore.newKeyFactory().setKind("keyKind");
 Key key = keyFactory.newKey("keyName");
 Entity entity = Entity.newBuilder(key)
     .set("name", "John Doe")
     .set("age", 30)
     .set("access_time", Timestamp.now())
     .build();
 datastore.put(entity);
 

This second example shows how to get and update a Datastore entity if it exists. For the complete source code see UpdateEntity.java.


 Datastore datastore = DatastoreOptions.getDefaultInstance().getService();
 KeyFactory keyFactory = datastore.newKeyFactory().setKind("keyKind");
 Key key = keyFactory.newKey("keyName");
 Entity entity = datastore.get(key);
 if (entity != null) {
   System.out.println("Updating access_time for " + entity.getString("name"));
   entity = Entity.newBuilder(entity)
       .set("access_time", Timestamp.now())
       .build();
   datastore.update(entity);
 }
 

When using google-cloud from outside of App/Compute Engine, you have to specify a project ID and provide credentials. See Also: Google Cloud Datastore

com.google.cloud.datastore.admin.v1

A client to Cloud Datastore API

The interfaces provided are listed below, along with usage samples.

DatastoreAdminClient

Service Description: Google Cloud Datastore Admin API

The Datastore Admin API provides several admin services for Cloud Datastore.

----------------------------------------------------------------------------- ## Concepts

Project, namespace, kind, and entity as defined in the Google Cloud Datastore API.

Operation: An Operation represents work being performed in the background.

EntityFilter: Allows specifying a subset of entities in a project. This is specified as a combination of kinds and namespaces (either or both of which may be all).

----------------------------------------------------------------------------- ## Services

# Export/Import

The Export/Import service provides the ability to copy all or a subset of entities to/from Google Cloud Storage.

Exported data may be imported into Cloud Datastore for any Google Cloud Platform project. It is not restricted to the export source project. It is possible to export from one project and then import into another.

Exported data can also be loaded into Google BigQuery for analysis.

Exports and imports are performed asynchronously. An Operation resource is created for each export/import. The state (including any errors encountered) of the export/import may be queried via the Operation resource.

# Index

The index service manages Cloud Datastore composite indexes.

Index creation and deletion are performed asynchronously. An Operation resource is created for each such asynchronous operation. The state of the operation (including any errors encountered) may be queried via the Operation resource.

# Operation

The Operations collection provides a record of actions performed for the specified project (including any operations in progress). Operations are not created directly but through calls on other collections or resources.

An operation that is not yet done may be cancelled. The request to cancel is asynchronous and the operation may continue to run for some time after the request to cancel is made.

An operation that is done may be deleted so that it is no longer listed as part of the Operation collection.

ListOperations returns all pending operations, but not completed operations.

Operations are created by service DatastoreAdmin, but are accessed via service google.longrunning.Operations.

Sample for DatastoreAdminClient:


 // This snippet has been automatically generated and should be regarded as a code template only.
 // It will require modifications to work:
 // - It may require correct/in-range values for request initialization.
 // - It may require specifying regional endpoints when creating the service client as shown in
 // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
 try (DatastoreAdminClient datastoreAdminClient = DatastoreAdminClient.create()) {
   GetIndexRequest request =
       GetIndexRequest.newBuilder()
           .setProjectId("projectId-894832108")
           .setIndexId("indexId1943291277")
           .build();
   Index response = datastoreAdminClient.getIndex(request);
 }
 

com.google.cloud.datastore.admin.v1.stub

com.google.cloud.datastore.aggregation

com.google.cloud.datastore.execution

com.google.cloud.datastore.execution.request

com.google.cloud.datastore.execution.response

com.google.cloud.datastore.spi

com.google.cloud.datastore.spi.v1

com.google.cloud.datastore.testing

A testing helper for Google Cloud Datastore.

A simple usage example:

Before the test:


 LocalDatastoreHelper helper = LocalDatastoreHelper.create();
 helper.start();
 Datastore localDatastore = helper.getOptions().getService();
 

After the test:


 helper.stop();
 

See Also: Google Cloud Java tools for testing

com.google.datastore.admin.v1

com.google.datastore.v1

com.google.datastore.v1.client

com.google.datastore.v1.client.testing