/datastore.rs

A Rust client for Google Datastore with support for automatic entity serialization

Primary LanguageRustMIT LicenseMIT

Cloud Datastore Rust Client

datastore.rs is a hand-rolled Rust client for Google Cloud Datastore.

It uses the v1 API defined here and exposes both a low-level API mapping to the REST-API operations and some slightly higher-level convenience functions.

Not all operations and types are implemented yet.

Serialisation to and from entities is performed via serde.

Rationale

Several half-finished Datastore clients already exist for Rust, however they seem to have been generated from either the Google API description service and not work at all or from outdated gRPC definitions.

In order to provide a nicely usable client and integration with the Rust ecosystem, e.g. Serde, hand-rolling a client seemed like the better option. Plus it's fun!

Authentication

Ideally this would support all forms of authentication that the Google Cloud SDK in other languages supports, but I"m not sure if there is a Rust library that has implemented that already.

Required for now are:

  • local application-default credentials
  • token via [metadata endpoint][]

Completeness overview

Types

Methods on entities

Methods on operations