The options shared by read requests.

JSON representation

  // Union field consistency_type can be only one of the following:
  "readConsistency": enum (ReadConsistency),
  "transaction": string,
  "readTime": string
  // End of list of possible types for union field consistency_type.

Union field consistency_type. For Cloud Datastore, if read_consistency is not specified, then lookups and ancestor queries default to read_consistency=STRONG, global queries default to read_consistency=EVENTUAL.

For Cloud Firestore in Datastore mode, if read_consistency is not specified then lookups and all queries default to read_consistency=STRONG.

Explicitly setting read_consistency=EVENTUAL will result in eventually consistent lookups & queries in both Cloud Datastore & Cloud Firestore in Datastore mode. consistency_type can be only one of the following:


enum (ReadConsistency)

The non-transactional read consistency to use.


string (bytes format)

The identifier of the transaction in which to read. A transaction identifier is returned by a call to Datastore.BeginTransaction.

A base64-encoded string.


string (Timestamp format)

Reads entities as they were at the given time. This value is only supported for Cloud Firestore in Datastore mode.

This must be a microsecond precision timestamp within the past one hour, or if Point-in-Time Recovery is enabled, can additionally be a whole minute timestamp within the past 7 days.

A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".


The possible values for read consistencies.

READ_CONSISTENCY_UNSPECIFIED Unspecified. This value must not be used.
STRONG Strong consistency.
EVENTUAL Eventual consistency.