Module helpers (2.20.0)

Helper functions for dealing with Cloud Datastore's Protobuf API.

The non-private functions are part of the API.

Classes

GeoPoint

GeoPoint(latitude, longitude)

Simple container for a geo point value.

Parameters
Name Description
latitude float

Latitude of a point.

longitude float

Longitude of a point.

Modules Functions

entity_from_protobuf

entity_from_protobuf(pb)

Factory method for creating an entity based on a protobuf.

The protobuf should be one returned from the Cloud Datastore Protobuf API.

Parameter
Name Description
pb .entity_pb2.Entity

The Protobuf representing the entity.

Returns
Type Description
Entity The entity derived from the protobuf.

entity_to_protobuf

entity_to_protobuf(entity)

Converts an entity into a protobuf.

Parameter
Name Description
entity Entity

The entity to be turned into a protobuf.

Returns
Type Description
.entity_pb2.Entity The protobuf representing the entity.

get_read_options

get_read_options(
    eventual, transaction_id, read_time=None, new_transaction_options=None
)

Validate rules for read options, and assign to the request.

Helper method for lookup() and run_query.

Parameters
Name Description
eventual bool

Flag indicating if EVENTUAL or STRONG consistency should be used.

transaction_id bytes

A transaction identifier (may be null).

read_time datetime

Read data from the specified time (may be null). This feature is in private preview.

new_transaction_options TransactionOptions

Options for a new transaction.

Exceptions
Type Description
`ValueError if more than one of eventual==True, transaction_id, read_time, and new_transaction_options is specified.
Returns
Type Description
.datastore_pb2.ReadOptions The read options corresponding to the inputs.

get_transaction_options

get_transaction_options(transaction)

Get the transaction_id or new_transaction_options field from an active transaction object, for use in get_read_options

These are mutually-exclusive fields, so one or both will be None.

Returns
Type Description
Tuple[Optional[bytes], Optional[google.cloud.datastore_v1.types.TransactionOptions]] The transaction_id and new_transaction_options fields from the transaction object.

key_from_protobuf

key_from_protobuf(pb)

Factory method for creating a key based on a protobuf.

The protobuf should be one returned from the Cloud Datastore Protobuf API.

Parameter
Name Description
pb .entity_pb2.Key

The Protobuf representing the key.

Returns
Type Description
Key a new Key instance

set_database_id_to_request

set_database_id_to_request(request, database_id=None)

Set the "database_id" field to the request only if it was provided.