The returned connection object should not be used directly; instead it should be passed as an argument to the constructor of DatastoreClient.
The optional options argument may be used to configure aspects of the returned DatastoreConnection. Expected options are any of the types in the following option lists:
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-14 UTC."],[[["\u003cp\u003eThe page provides documentation for various versions of the Google Cloud Datastore C++ client library, ranging from version 2.15.1 up to the latest release candidate 2.37.0-rc.\u003c/p\u003e\n"],["\u003cp\u003eThe DatastoreClient class is detailed, including information on how each RPC normalizes partition IDs of input entity keys and returns entities with normalized partition IDs.\u003c/p\u003e\n"],["\u003cp\u003eDocumentation is available for core classes like DatastoreConnection, retry policies (DatastoreLimitedErrorCountRetryPolicy, DatastoreLimitedTimeRetryPolicy, DatastoreRetryPolicy), and the DatastoreConnectionIdempotencyPolicy.\u003c/p\u003e\n"],["\u003cp\u003eThe documentation includes details on how to configure the DatastoreConnection via the MakeDatastoreConnection factory function using options from various lists, such as CommonOptionList and UnifiedCredentialsOptionList, while also noting how to address unexpected options.\u003c/p\u003e\n"],["\u003cp\u003eThere is a function for default connection idempotency policy, the \u003ccode\u003eMakeDefaultDatastoreConnectionIdempotencyPolicy()\u003c/code\u003e function, which returns a unique pointer to the \u003ccode\u003eDatastoreConnectionIdempotencyPolicy\u003c/code\u003e.\u003c/p\u003e\n"]]],[],null,["# Namespace google::cloud::datastore_v1 (2.22.1)\n\nVersion 2.22.1keyboard_arrow_down\n\n- [2.42.0-rc (latest)](/cpp/docs/reference/datastore/latest/namespacegoogle_1_1cloud_1_1datastore__v1)\n- [2.41.0](/cpp/docs/reference/datastore/2.41.0/namespacegoogle_1_1cloud_1_1datastore__v1)\n- [2.40.0](/cpp/docs/reference/datastore/2.40.0/namespacegoogle_1_1cloud_1_1datastore__v1)\n- [2.39.0](/cpp/docs/reference/datastore/2.39.0/namespacegoogle_1_1cloud_1_1datastore__v1)\n- [2.38.0](/cpp/docs/reference/datastore/2.38.0/namespacegoogle_1_1cloud_1_1datastore__v1)\n- [2.37.0](/cpp/docs/reference/datastore/2.37.0/namespacegoogle_1_1cloud_1_1datastore__v1)\n- [2.36.0](/cpp/docs/reference/datastore/2.36.0/namespacegoogle_1_1cloud_1_1datastore__v1)\n- [2.35.0](/cpp/docs/reference/datastore/2.35.0/namespacegoogle_1_1cloud_1_1datastore__v1)\n- [2.34.0](/cpp/docs/reference/datastore/2.34.0/namespacegoogle_1_1cloud_1_1datastore__v1)\n- [2.33.0](/cpp/docs/reference/datastore/2.33.0/namespacegoogle_1_1cloud_1_1datastore__v1)\n- [2.32.0](/cpp/docs/reference/datastore/2.32.0/namespacegoogle_1_1cloud_1_1datastore__v1)\n- [2.31.0](/cpp/docs/reference/datastore/2.31.0/namespacegoogle_1_1cloud_1_1datastore__v1)\n- [2.30.0](/cpp/docs/reference/datastore/2.30.0/namespacegoogle_1_1cloud_1_1datastore__v1)\n- [2.29.0](/cpp/docs/reference/datastore/2.29.0/namespacegoogle_1_1cloud_1_1datastore__v1)\n- [2.28.0](/cpp/docs/reference/datastore/2.28.0/namespacegoogle_1_1cloud_1_1datastore__v1)\n- [2.27.0](/cpp/docs/reference/datastore/2.27.0/namespacegoogle_1_1cloud_1_1datastore__v1)\n- [2.26.0](/cpp/docs/reference/datastore/2.26.0/namespacegoogle_1_1cloud_1_1datastore__v1)\n- [2.25.1](/cpp/docs/reference/datastore/2.25.1/namespacegoogle_1_1cloud_1_1datastore__v1)\n- [2.24.0](/cpp/docs/reference/datastore/2.24.0/namespacegoogle_1_1cloud_1_1datastore__v1)\n- [2.23.0](/cpp/docs/reference/datastore/2.23.0/namespacegoogle_1_1cloud_1_1datastore__v1)\n- [2.22.1](/cpp/docs/reference/datastore/2.22.1/namespacegoogle_1_1cloud_1_1datastore__v1)\n- [2.21.0](/cpp/docs/reference/datastore/2.21.0/namespacegoogle_1_1cloud_1_1datastore__v1)\n- [2.20.0](/cpp/docs/reference/datastore/2.20.0/namespacegoogle_1_1cloud_1_1datastore__v1)\n- [2.19.0](/cpp/docs/reference/datastore/2.19.0/namespacegoogle_1_1cloud_1_1datastore__v1)\n- [2.18.0](/cpp/docs/reference/datastore/2.18.0/namespacegoogle_1_1cloud_1_1datastore__v1)\n- [2.17.0](/cpp/docs/reference/datastore/2.17.0/namespacegoogle_1_1cloud_1_1datastore__v1)\n- [2.16.0](/cpp/docs/reference/datastore/2.16.0/namespacegoogle_1_1cloud_1_1datastore__v1)\n- [2.15.1](/cpp/docs/reference/datastore/2.15.1/namespacegoogle_1_1cloud_1_1datastore__v1) \n\nClasses\n-------\n\n### [DatastoreClient](/cpp/docs/reference/datastore/2.22.1/classgoogle_1_1cloud_1_1datastore__v1_1_1DatastoreClient)\n\nEach RPC normalizes the partition IDs of the keys in its input entities, and always returns entities with keys with normalized partition IDs.\n\n### [DatastoreConnection](/cpp/docs/reference/datastore/2.22.1/classgoogle_1_1cloud_1_1datastore__v1_1_1DatastoreConnection)\n\nThe [`DatastoreConnection`](/cpp/docs/reference/datastore/2.22.1/classgoogle_1_1cloud_1_1datastore__v1_1_1DatastoreConnection) object for [`DatastoreClient`](/cpp/docs/reference/datastore/2.22.1/classgoogle_1_1cloud_1_1datastore__v1_1_1DatastoreClient).\n\n### [DatastoreConnectionIdempotencyPolicy](/cpp/docs/reference/datastore/2.22.1/classgoogle_1_1cloud_1_1datastore__v1_1_1DatastoreConnectionIdempotencyPolicy)\n\n### [DatastoreLimitedErrorCountRetryPolicy](/cpp/docs/reference/datastore/2.22.1/classgoogle_1_1cloud_1_1datastore__v1_1_1DatastoreLimitedErrorCountRetryPolicy)\n\nA retry policy for [`DatastoreConnection`](/cpp/docs/reference/datastore/2.22.1/classgoogle_1_1cloud_1_1datastore__v1_1_1DatastoreConnection) based on counting errors.\n\n### [DatastoreLimitedTimeRetryPolicy](/cpp/docs/reference/datastore/2.22.1/classgoogle_1_1cloud_1_1datastore__v1_1_1DatastoreLimitedTimeRetryPolicy)\n\nA retry policy for [`DatastoreConnection`](/cpp/docs/reference/datastore/2.22.1/classgoogle_1_1cloud_1_1datastore__v1_1_1DatastoreConnection) based on elapsed time.\n\n### [DatastoreRetryPolicy](/cpp/docs/reference/datastore/2.22.1/classgoogle_1_1cloud_1_1datastore__v1_1_1DatastoreRetryPolicy)\n\nThe retry policy for [`DatastoreConnection`](/cpp/docs/reference/datastore/2.22.1/classgoogle_1_1cloud_1_1datastore__v1_1_1DatastoreConnection).\n\nStructs\n-------\n\n### [DatastoreBackoffPolicyOption](/cpp/docs/reference/datastore/2.22.1/structgoogle_1_1cloud_1_1datastore__v1_1_1DatastoreBackoffPolicyOption)\n\nUse with [`google::cloud::Options`](https://cloud.google.com/cpp/docs/reference/common/latest/classgoogle_1_1cloud_1_1Options.html) to configure the backoff policy.\n\n### [DatastoreConnectionIdempotencyPolicyOption](/cpp/docs/reference/datastore/2.22.1/structgoogle_1_1cloud_1_1datastore__v1_1_1DatastoreConnectionIdempotencyPolicyOption)\n\nUse with [`google::cloud::Options`](https://cloud.google.com/cpp/docs/reference/common/latest/classgoogle_1_1cloud_1_1Options.html) to configure which operations are retried.\n\n### [DatastoreRetryPolicyOption](/cpp/docs/reference/datastore/2.22.1/structgoogle_1_1cloud_1_1datastore__v1_1_1DatastoreRetryPolicyOption)\n\nUse with [`google::cloud::Options`](https://cloud.google.com/cpp/docs/reference/common/latest/classgoogle_1_1cloud_1_1Options.html) to configure the retry policy.\n\nFunctions\n---------\n\n### MakeDatastoreConnection(Options)\n\nA factory function to construct an object of type [`DatastoreConnection`](/cpp/docs/reference/datastore/2.22.1/classgoogle_1_1cloud_1_1datastore__v1_1_1DatastoreConnection). \nThe returned connection object should not be used directly; instead it should be passed as an argument to the constructor of [DatastoreClient](/cpp/docs/reference/datastore/2.22.1/classgoogle_1_1cloud_1_1datastore__v1_1_1DatastoreClient).\n\nThe optional `options` argument may be used to configure aspects of the returned [`DatastoreConnection`](/cpp/docs/reference/datastore/2.22.1/classgoogle_1_1cloud_1_1datastore__v1_1_1DatastoreConnection). Expected options are any of the types in the following option lists:\n\n- [`google::cloud::CommonOptionList`](about:invalid#zCSafez)\n- [`google::cloud::GrpcOptionList`](about:invalid#zCSafez)\n- [`google::cloud::UnifiedCredentialsOptionList`](about:invalid#zCSafez)\n- [`google::cloud::datastore_v1::DatastorePolicyOptionList`](/cpp/docs/reference/datastore/2.22.1/namespacegoogle_1_1cloud_1_1datastore__v1)\n\n| **Note:** Unexpected options will be ignored. To log unexpected options instead, set `GOOGLE_CLOUD_CPP_ENABLE_CLOG=yes` in the environment.\n\n### MakeDefaultDatastoreConnectionIdempotencyPolicy()\n\nType Aliases\n------------\n\n### DatastorePolicyOptionList\n\n**Alias Of** : `OptionList\u003c DatastoreRetryPolicyOption, DatastoreBackoffPolicyOption, DatastoreConnectionIdempotencyPolicyOption \u003e` \nThe options applicable to Datastore."]]