Java idiomatic client for Google Cloud Platform services.
- [Homepage] (https://googlecloudplatform.github.io/gcloud-java/)
- [API Documentation] (http://googlecloudplatform.github.io/gcloud-java/apidocs)
- [Examples] (http://googlecloudplatform.github.io/gcloud-java/apidocs/index.html?com/google/gcloud/examples/package-summary.html)
This client supports the following Google Cloud Platform services:
- [Google Cloud Datastore] (#google-cloud-datastore)
Note: This client is a work-in-progress, and may occasionally make backwards-incompatible changes.
Add this to your pom.xml file
<dependency>
<groupId>com.google.gcloud</groupId>
<artifactId>gcloud-java</artifactId>
<version>0.0.6</version>
</dependency>
Google Cloud Datastore is a fully managed, schemaless database for storing non-relational data. Cloud Datastore automatically scales with your users and supports ACID transactions, high availability of reads and writes, strong consistency for reads and ancestor queries, and eventual consistency for all other queries.
See the Google Cloud Datastore docs for more details on how to activate Cloud Datastore for your project.
See the gcloud-java
API datastore documentation to learn how to interact
with the Cloud Datastore using this Client Library.
import com.google.gcloud.datastore.Datastore;
import com.google.gcloud.datastore.DatastoreFactory;
import com.google.gcloud.datastore.DatastoreOptions;
import com.google.gcloud.datastore.DateTime;
import com.google.gcloud.datastore.Entity;
import com.google.gcloud.datastore.Key;
import com.google.gcloud.datastore.KeyFactory;
DatastoreOptions options = DatastoreOptions.builder().projectId(PROJECT_ID).build();
Datastore datastore = DatastoreFactory.instance().get(options);
KeyFactory keyFactory = datastore.newKeyFactory().kind(KIND);
Key key = keyFactory.newKey(keyName);
Entity entity = datastore.get(key);
if (entity == null) {
entity = Entity.builder(key)
.set("name", "John Do")
.set("age", 30)
.set("access_time", DateTime.now())
.build();
datastore.put(entity);
} else {
System.out.println("Updating access_time for " + entity.getString("name"));
entity = Entity.builder(entity)
.set("access_time", DateTime.now())
.build();
datastore.update(entity);
}
Contributions to this library are always welcome and highly encouraged.
See CONTRIBUTING for more information on how to get started.
Java 7 or above is required for using this client.
This library follows [Semantic Versioning] (http://semver.org/).
It is currently in major version zero (0.y.z
), which means that anything
may change at any time and the public API should not be considered
stable.
Apache 2.0 - See LICENSE for more information.