Client(project=None, namespace=None, credentials=None, client_info=<google.api_core.gapic_v1.client_info.ClientInfo object>, client_options=None, _http=None, _use_grpc=None)
Convenience wrapper for invoking APIs/factories w/ a project.
.. doctest::
from google.cloud import datastore client = datastore.Client()
Parameters
Name | Description |
project |
str
(Optional) The project to pass to proxied API methods. |
namespace |
str
(Optional) namespace to pass to proxied API methods. |
credentials |
`google.auth.credentials.Credentials`
(Optional) The OAuth2 Credentials to use for this client. If not passed (and if no |
client_info |
`google.api_core.gapic_v1.client_info.ClientInfo` or `google.api_core.client_info.ClientInfo`
(Optional) The client info used to send a user-agent string along with API requests. If |
client_options |
`google.api_core.client_options.ClientOptions` or `dict`
(Optional) Client options used to set user options on the client. API Endpoint should be set through client_options. |
_http |
`requests.Session`
(Optional) HTTP object to make requests. Can be any object that defines |
_use_grpc |
bool
(Optional) Explicitly specifies whether to use the gRPC transport (via GAX) or HTTP. If unset, falls back to the |
Inheritance
builtins.object > google.cloud.client._ClientFactoryMixin > google.cloud.client.Client > builtins.object > google.cloud.client._ClientProjectMixin > google.cloud.client.ClientWithProject > ClientProperties
base_url
Getter for API base URL.
current_batch
Currently-active batch.
Type | Description |
Batch, or an object implementing its API, or ``NoneType`` (if no batch is active). | The batch/transaction at the top of the batch stack. |
current_transaction
Currently-active transaction.
Type | Description |
Transaction, or an object implementing its API, or ``NoneType`` (if no transaction is active). | The transaction at the top of the batch stack. |
Methods
allocate_ids
allocate_ids(incomplete_key, num_ids, retry=None, timeout=None)
Allocate a list of IDs from a partial key.
Name | Description |
incomplete_key |
Key
Partial key to use as base for allocated IDs. |
num_ids |
int
The number of IDs to allocate. |
retry |
`google.api_core.retry.Retry`
A retry object used to retry requests. If |
timeout |
float
Time, in seconds, to wait for the request to complete. Note that if |
Type | Description |
`ValueError | if ``incomplete_key`` is not a partial key. |
Type | Description |
list of Key | The (complete) keys allocated with ``incomplete_key`` as root. |
batch
batch()
Proxy to Batch.
delete
delete(key, retry=None, timeout=None)
Delete the key in the Cloud Datastore.
.. note::
This is just a thin wrapper over delete_multi
.
The backend API does not make a distinction between a single key or
multiple keys in a commit request.
Name | Description |
key |
Key, Entity
The key to be deleted from the datastore. |
retry |
`google.api_core.retry.Retry`
A retry object used to retry requests. If |
timeout |
float
Time, in seconds, to wait for the request to complete. Note that if |
delete_multi
delete_multi(keys, retry=None, timeout=None)
Delete keys from the Cloud Datastore.
Name | Description |
keys |
list of Key, Entity
The keys to be deleted from the Datastore. |
retry |
`google.api_core.retry.Retry`
A retry object used to retry requests. If |
timeout |
float
Time, in seconds, to wait for the request to complete. Note that if |
get
get(
key,
missing=None,
deferred=None,
transaction=None,
eventual=False,
retry=None,
timeout=None,
)
Retrieve an entity from a single key (if it exists).
.. note::
This is just a thin wrapper over get_multi
.
The backend API does not make a distinction between a single key or
multiple keys in a lookup request.
Name | Description |
key |
Key
The key to be retrieved from the datastore. |
missing |
list
(Optional) If a list is passed, the key-only entities returned by the backend as "missing" will be copied into it. |
deferred |
list
(Optional) If a list is passed, the keys returned by the backend as "deferred" will be copied into it. |
transaction |
Transaction
(Optional) Transaction to use for read consistency. If not passed, uses current transaction, if set. |
eventual |
bool
(Optional) Defaults to strongly consistent (False). Setting True will use eventual consistency, but cannot be used inside a transaction or will raise ValueError. |
retry |
`google.api_core.retry.Retry`
A retry object used to retry requests. If |
timeout |
float
Time, in seconds, to wait for the request to complete. Note that if |
Type | Description |
`ValueError | if eventual is True and in a transaction. |
Type | Description |
Entity or ``NoneType`` | The requested entity if it exists. |
get_multi
get_multi(
keys,
missing=None,
deferred=None,
transaction=None,
eventual=False,
retry=None,
timeout=None,
)
Retrieve entities, along with their attributes.
Name | Description |
keys |
list of Key
The keys to be retrieved from the datastore. |
missing |
list
(Optional) If a list is passed, the key-only entities returned by the backend as "missing" will be copied into it. If the list is not empty, an error will occur. |
deferred |
list
(Optional) If a list is passed, the keys returned by the backend as "deferred" will be copied into it. If the list is not empty, an error will occur. |
transaction |
Transaction
(Optional) Transaction to use for read consistency. If not passed, uses current transaction, if set. |
eventual |
bool
(Optional) Defaults to strongly consistent (False). Setting True will use eventual consistency, but cannot be used inside a transaction or will raise ValueError. |
retry |
`google.api_core.retry.Retry`
A retry object used to retry requests. If |
timeout |
float
Time, in seconds, to wait for the request to complete. Note that if |
Type | Description |
`ValueError | if one or more of ``keys`` has a project which does not match our project. |
`ValueError | if eventual is True and in a transaction. |
Type | Description |
list of Entity | The requested entities. |
key
key(*path_args, **kwargs)
Proxy to Key.
Passes our project
.
put
put(entity, retry=None, timeout=None)
Save an entity in the Cloud Datastore.
.. note::
This is just a thin wrapper over put_multi
.
The backend API does not make a distinction between a single
entity or multiple entities in a commit request.
Name | Description |
entity |
Entity
The entity to be saved to the datastore. |
retry |
`google.api_core.retry.Retry`
A retry object used to retry requests. If |
timeout |
float
Time, in seconds, to wait for the request to complete. Note that if |
put_multi
put_multi(entities, retry=None, timeout=None)
Save entities in the Cloud Datastore.
Name | Description |
entities |
list of Entity
The entities to be saved to the datastore. |
retry |
`google.api_core.retry.Retry`
A retry object used to retry requests. If |
timeout |
float
Time, in seconds, to wait for the request to complete. Note that if |
Type | Description |
`ValueError | if ``entities`` is a single entity. |
query
query(**kwargs)
Proxy to xref_Query.
Passes our project
.
Using query to search a datastore:
.. testsetup:: query
import uuid
from google.cloud import datastore
unique = str(uuid.uuid4())[0:8]
client = datastore.Client(namespace='ns{}'.format(unique))
def do_something_with(entity):
pass
.. doctest:: query
>>> query = client.query(kind='MyKind')
>>> query.add_filter('property', '=', 'val')
<<xref uid="google.cloud.datastore.query.Query">google.cloud.datastore.query.Query</xref> object at ...>
Using the query iterator
.. doctest:: query
>>> filters = [('property', '=', 'val')]
>>> query = client.query(kind='MyKind', filters=filters)
>>> query_iter = query.fetch()
>>> for entity in query_iter:
... do_something_with(entity)
or manually page through results
.. doctest:: query
>>> query_iter = query.fetch()
>>> pages = query_iter.pages
>>>
>>> first_page = next(pages)
>>> first_page_entities = list(first_page)
>>> query_iter.next_page_token is None
True
Type | Description |
Query | A query object. |
reserve_ids
reserve_ids(complete_key, num_ids, retry=None, timeout=None)
Reserve a list of IDs sequentially from a complete key.
DEPRECATED. Alias for reserve_ids_sequential
.
Please use either reserve_ids_multi
(recommended) or
reserve_ids_sequential
.
reserve_ids_multi
reserve_ids_multi(complete_keys, retry=None, timeout=None)
Reserve IDs from a list of complete keys.
Name | Description |
complete_keys |
`list` of Key
Complete keys for which to reserve IDs. |
retry |
`google.api_core.retry.Retry`
A retry object used to retry requests. If |
timeout |
float
Time, in seconds, to wait for the request to complete. Note that if |
Type | Description |
`ValueError | if any of `complete_keys`` is not a Complete key. |
Type | Description |
class:`NoneType` | None |
reserve_ids_sequential
reserve_ids_sequential(complete_key, num_ids, retry=None, timeout=None)
Reserve a list of IDs sequentially from a complete key.
This will reserve the key passed as complete_key
as well as
additional keys derived by incrementing the last ID in the path of
complete_key
sequentially to obtain the number of keys specified in
num_ids
.
Name | Description |
complete_key |
Key
Complete key to use as base for reserved IDs. Key must use a numeric ID and not a string name. |
num_ids |
int
The number of IDs to reserve. |
retry |
`google.api_core.retry.Retry`
A retry object used to retry requests. If |
timeout |
float
Time, in seconds, to wait for the request to complete. Note that if |
Type | Description |
`ValueError | if `complete_key`` is not a Complete key. |
Type | Description |
class:`NoneType` | None |
transaction
transaction(**kwargs)
Proxy to xref_Transaction.