public sealed class Key : IMessage<Key>, IEquatable<Key>, IDeepCloneable<Key>, IBufferMessage, IMessage
A unique identifier for a Datastore entity.
If a key's partition ID or any of its path kinds or names are
reserved/read-only, the key is reserved/read-only.
A reserved/read-only key is forbidden in certain documented contexts.
public RepeatedField<Key.Types.PathElement> Path { get; }
The entity path.
An entity path consists of one or more elements composed of a kind and a
string or numerical identifier, which identify entities. The first
element identifies a root entity, the second element identifies
a child of the root entity, the third element identifies a child of the
second entity, and so forth. The entities identified by all prefixes of
the path are called the element's ancestors.
A path can never be empty, and a path can have at most 100 elements.
[[["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-07 UTC."],[[["\u003cp\u003eThe \u003ccode\u003eKey\u003c/code\u003e class in the \u003ccode\u003eGoogle.Cloud.Dlp.V2\u003c/code\u003e namespace provides a unique identifier for a Datastore entity, which can be reserved or read-only based on its partition ID or path.\u003c/p\u003e\n"],["\u003cp\u003eVersion 4.16.0 is the latest available version of the \u003ccode\u003eGoogle.Cloud.Dlp.V2.Key\u003c/code\u003e reference, and multiple versions from 4.15.0 to 2.15.0 are also available.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eKey\u003c/code\u003e class inherits from \u003ccode\u003eObject\u003c/code\u003e and implements \u003ccode\u003eIMessage<Key>\u003c/code\u003e, \u003ccode\u003eIEquatable<Key>\u003c/code\u003e, \u003ccode\u003eIDeepCloneable<Key>\u003c/code\u003e, \u003ccode\u003eIBufferMessage\u003c/code\u003e, and \u003ccode\u003eIMessage\u003c/code\u003e interfaces, offering various methods such as \u003ccode\u003eGetHashCode\u003c/code\u003e, \u003ccode\u003eGetType\u003c/code\u003e, \u003ccode\u003eMemberwiseClone\u003c/code\u003e, and \u003ccode\u003eToString\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eKey\u003c/code\u003e object's structure includes \u003ccode\u003ePartitionId\u003c/code\u003e and \u003ccode\u003ePath\u003c/code\u003e, where the partition represents a subset of entities identified by project and namespace, while the path details the entity's lineage through a series of elements.\u003c/p\u003e\n"],["\u003cp\u003eThe provided reference documentation details the available constructors for the class, \u003ccode\u003eKey()\u003c/code\u003e, and \u003ccode\u003eKey(Key)\u003c/code\u003e, both creating a \u003ccode\u003eKey\u003c/code\u003e object, with the second taking another \u003ccode\u003eKey\u003c/code\u003e object as an argument.\u003c/p\u003e\n"]]],[],null,[]]