Module key (2.21.0)
Stay organized with collections
Save and categorize content based on your preferences.
Create / interact with Google Cloud Datastore keys.
Classes
Key
(
*
path_args
,
**
kwargs
)
An immutable representation of a datastore Key.
.. testsetup:: key-ctor
from google.cloud import datastore
project = 'my-special-pony'
client = datastore.Client(project=project)
Key = datastore.Key
parent_key = client.key('Parent', 'foo')
To create a basic key directly:
.. doctest:: key-ctor
Key('EntityKind', 1234, project=project)
<Key('EntityKind', 1234), project=...>
Key('EntityKind', 'foo', project=project)
<Key('EntityKind', 'foo'), project=...>
Though typical usage comes via the
xref_key factory:
.. doctest:: key-ctor
client.key('EntityKind', 1234)
<Key('EntityKind', 1234), project=...>
client.key('EntityKind', 'foo')
<Key('EntityKind', 'foo'), project=...>
To create a key with a parent:
.. doctest:: key-ctor
client.key('Parent', 'foo', 'Child', 1234)
<Key('Parent', 'foo', 'Child', 1234), project=...>
client.key('Child', 1234, parent=parent_key)
<Key('Parent', 'foo', 'Child', 1234), project=...>
To create a partial key:
.. doctest:: key-ctor
client.key('Parent', 'foo', 'Child')
<Key('Parent', 'foo', 'Child'), project=...>
To create a key from a non-default database:
.. doctest:: key-ctor
Key('EntityKind', 1234, project=project, database='mydb')
<Key('EntityKind', 1234), project=my-special-pony, database=mydb>
path_args
tuple of string and integer
May represent a partial (odd length) or full (even length) key path.
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License
, and code samples are licensed under the Apache 2.0 License
. For details, see the Google Developers Site Policies
. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-09-04 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-09-04 UTC."],[],[],null,["# Module key (2.21.0)\n\nVersion latestkeyboard_arrow_down\n\n- [2.21.0 (latest)](/python/docs/reference/datastore/latest/google.cloud.datastore.key)\n- [2.20.2](/python/docs/reference/datastore/2.20.2/google.cloud.datastore.key)\n- [2.19.0](/python/docs/reference/datastore/2.19.0/google.cloud.datastore.key)\n- [2.18.0](/python/docs/reference/datastore/2.18.0/google.cloud.datastore.key)\n- [2.17.0](/python/docs/reference/datastore/2.17.0/google.cloud.datastore.key)\n- [2.16.1](/python/docs/reference/datastore/2.16.1/google.cloud.datastore.key)\n- [2.15.2](/python/docs/reference/datastore/2.15.2/google.cloud.datastore.key)\n- [2.14.0](/python/docs/reference/datastore/2.14.0/google.cloud.datastore.key)\n- [2.13.2](/python/docs/reference/datastore/2.13.2/google.cloud.datastore.key)\n- [2.12.0](/python/docs/reference/datastore/2.12.0/google.cloud.datastore.key)\n- [2.11.1](/python/docs/reference/datastore/2.11.1/google.cloud.datastore.key)\n- [2.10.0](/python/docs/reference/datastore/2.10.0/google.cloud.datastore.key)\n- [2.9.0](/python/docs/reference/datastore/2.9.0/google.cloud.datastore.key)\n- [2.8.3](/python/docs/reference/datastore/2.8.3/google.cloud.datastore.key)\n- [2.7.2](/python/docs/reference/datastore/2.7.2/google.cloud.datastore.key)\n- [2.6.2](/python/docs/reference/datastore/2.6.2/google.cloud.datastore.key)\n- [2.5.1](/python/docs/reference/datastore/2.5.1/google.cloud.datastore.key)\n- [2.4.0](/python/docs/reference/datastore/2.4.0/google.cloud.datastore.key)\n- [2.3.0](/python/docs/reference/datastore/2.3.0/google.cloud.datastore.key)\n- [2.2.0](/python/docs/reference/datastore/2.2.0/google.cloud.datastore.key)\n- [2.1.6](/python/docs/reference/datastore/2.1.6/google.cloud.datastore.key)\n- [2.0.1](/python/docs/reference/datastore/2.0.1/google.cloud.datastore.key)\n- [1.15.5](/python/docs/reference/datastore/1.15.5/google.cloud.datastore.key)\n- [1.14.0](/python/docs/reference/datastore/1.14.0/google.cloud.datastore.key)\n- [1.13.2](/python/docs/reference/datastore/1.13.2/google.cloud.datastore.key)\n- [1.12.0](/python/docs/reference/datastore/1.12.0/google.cloud.datastore.key)\n- [1.11.0](/python/docs/reference/datastore/1.11.0/google.cloud.datastore.key)\n- [1.10.0](/python/docs/reference/datastore/1.10.0/google.cloud.datastore.key)\n- [1.9.0](/python/docs/reference/datastore/1.9.0/google.cloud.datastore.key) \nCreate / interact with Google Cloud Datastore keys.\n\nClasses\n-------\n\n### [Key](/python/docs/reference/datastore/latest/google.cloud.datastore.key.Key)\n\n Key(*path_args, **kwargs)\n\nAn immutable representation of a datastore Key.\n\n.. testsetup:: key-ctor\n\nfrom google.cloud import datastore\n\nproject = 'my-special-pony'\nclient = datastore.Client(project=project)\nKey = datastore.Key\n\nparent_key = client.key('Parent', 'foo')\n\nTo create a basic key directly:\n\n.. doctest:: key-ctor\n\u003e \u003e \u003e Key('EntityKind', 1234, project=project)\n\u003e \u003e \u003e \\\u003cKey('EntityKind', 1234), project=...\\\u003e\n\u003e \u003e \u003e Key('EntityKind', 'foo', project=project)\n\u003e \u003e \u003e \\\u003cKey('EntityKind', 'foo'), project=...\\\u003e\n\nThough typical usage comes via the\nxref_key factory:\n\n.. doctest:: key-ctor\n\u003e \u003e \u003e client.key('EntityKind', 1234)\n\u003e \u003e \u003e \\\u003cKey('EntityKind', 1234), project=...\\\u003e\n\u003e \u003e \u003e client.key('EntityKind', 'foo')\n\u003e \u003e \u003e \\\u003cKey('EntityKind', 'foo'), project=...\\\u003e\n\nTo create a key with a parent:\n\n.. doctest:: key-ctor\n\u003e \u003e \u003e client.key('Parent', 'foo', 'Child', 1234)\n\u003e \u003e \u003e \\\u003cKey('Parent', 'foo', 'Child', 1234), project=...\\\u003e\n\u003e \u003e \u003e client.key('Child', 1234, parent=parent_key)\n\u003e \u003e \u003e \\\u003cKey('Parent', 'foo', 'Child', 1234), project=...\\\u003e\n\nTo create a partial key:\n\n.. doctest:: key-ctor\n\u003e \u003e \u003e client.key('Parent', 'foo', 'Child')\n\u003e \u003e \u003e \\\u003cKey('Parent', 'foo', 'Child'), project=...\\\u003e\n\nTo create a key from a non-default database:\n\n.. doctest:: key-ctor\n\u003e \u003e \u003e Key('EntityKind', 1234, project=project, database='mydb')\n\u003e \u003e \u003e \\\u003cKey('EntityKind', 1234), project=my-special-pony, database=mydb\\\u003e"]]