public sealed class HybridFindingDetails : IMessage<HybridFindingDetails>, IEquatable<HybridFindingDetails>, IDeepCloneable<HybridFindingDetails>, IBufferMessage, IMessage
Reference documentation and code samples for the Google Cloud Data Loss Prevention v2 API class HybridFindingDetails.
Populate to associate additional data with each finding.
Offset in bytes of the line, from the beginning of the file, where the
finding is located. Populate if the item being scanned is only part of a
bigger item, such as a shard of a file and you want to track the absolute
position of the finding.
Labels to represent user provided metadata about the data being inspected.
If configured by the job, some key values may be required.
The labels associated with Finding's produced by hybrid
inspection.
Label keys must be between 1 and 63 characters long and must conform
to the following regular expression: [a-z]([-a-z0-9]*[a-z0-9])?.
Label values must be between 0 and 63 characters long and must conform
to the regular expression ([a-z]([-a-z0-9]*[a-z0-9])?)?.
No more than 10 labels can be associated with a given finding.
If the container is a table, additional information to make findings
meaningful such as the columns that are primary keys. If not known ahead
of time, can also be set within each inspect hybrid call and the two
will be merged. Note that identifying_fields will only be stored to
BigQuery, and only if the BigQuery action has been included.
[[["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 latest version of the \u003ccode\u003eHybridFindingDetails\u003c/code\u003e class in the Google Cloud Data Loss Prevention v2 API is 4.16.0, with multiple previous versions available for reference, ranging from 4.15.0 down to 2.15.0.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eHybridFindingDetails\u003c/code\u003e is designed to add extra information to each finding, and implements \u003ccode\u003eIMessage\u003c/code\u003e, \u003ccode\u003eIEquatable\u003c/code\u003e, \u003ccode\u003eIDeepCloneable\u003c/code\u003e, and \u003ccode\u003eIBufferMessage\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eThe class contains properties such as \u003ccode\u003eContainerDetails\u003c/code\u003e, \u003ccode\u003eFileOffset\u003c/code\u003e, \u003ccode\u003eLabels\u003c/code\u003e, \u003ccode\u003eRowOffset\u003c/code\u003e, and \u003ccode\u003eTableOptions\u003c/code\u003e, which provide detailed context and metadata about the data being inspected.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eLabels\u003c/code\u003e property enables the association of up to 10 user-defined metadata labels with findings, using key-value pairs, each with specific length and format requirements.\u003c/p\u003e\n"],["\u003cp\u003eConstructors are available for creating new instances, either default or cloning from an existing \u003ccode\u003eHybridFindingDetails\u003c/code\u003e instance.\u003c/p\u003e\n"]]],[],null,["# Google Cloud Data Loss Prevention v2 API - Class HybridFindingDetails (4.19.0)\n\nVersion latestkeyboard_arrow_down\n\n- [4.19.0 (latest)](/dotnet/docs/reference/Google.Cloud.Dlp.V2/latest/Google.Cloud.Dlp.V2.HybridFindingDetails)\n- [4.18.0](/dotnet/docs/reference/Google.Cloud.Dlp.V2/4.18.0/Google.Cloud.Dlp.V2.HybridFindingDetails)\n- [4.17.0](/dotnet/docs/reference/Google.Cloud.Dlp.V2/4.17.0/Google.Cloud.Dlp.V2.HybridFindingDetails)\n- [4.16.0](/dotnet/docs/reference/Google.Cloud.Dlp.V2/4.16.0/Google.Cloud.Dlp.V2.HybridFindingDetails)\n- [4.15.0](/dotnet/docs/reference/Google.Cloud.Dlp.V2/4.15.0/Google.Cloud.Dlp.V2.HybridFindingDetails)\n- [4.14.0](/dotnet/docs/reference/Google.Cloud.Dlp.V2/4.14.0/Google.Cloud.Dlp.V2.HybridFindingDetails)\n- [4.13.0](/dotnet/docs/reference/Google.Cloud.Dlp.V2/4.13.0/Google.Cloud.Dlp.V2.HybridFindingDetails)\n- [4.12.0](/dotnet/docs/reference/Google.Cloud.Dlp.V2/4.12.0/Google.Cloud.Dlp.V2.HybridFindingDetails)\n- [4.11.0](/dotnet/docs/reference/Google.Cloud.Dlp.V2/4.11.0/Google.Cloud.Dlp.V2.HybridFindingDetails)\n- [4.10.0](/dotnet/docs/reference/Google.Cloud.Dlp.V2/4.10.0/Google.Cloud.Dlp.V2.HybridFindingDetails)\n- [4.9.0](/dotnet/docs/reference/Google.Cloud.Dlp.V2/4.9.0/Google.Cloud.Dlp.V2.HybridFindingDetails)\n- [4.8.0](/dotnet/docs/reference/Google.Cloud.Dlp.V2/4.8.0/Google.Cloud.Dlp.V2.HybridFindingDetails)\n- [4.7.0](/dotnet/docs/reference/Google.Cloud.Dlp.V2/4.7.0/Google.Cloud.Dlp.V2.HybridFindingDetails)\n- [4.6.0](/dotnet/docs/reference/Google.Cloud.Dlp.V2/4.6.0/Google.Cloud.Dlp.V2.HybridFindingDetails)\n- [4.5.0](/dotnet/docs/reference/Google.Cloud.Dlp.V2/4.5.0/Google.Cloud.Dlp.V2.HybridFindingDetails)\n- [4.4.0](/dotnet/docs/reference/Google.Cloud.Dlp.V2/4.4.0/Google.Cloud.Dlp.V2.HybridFindingDetails)\n- [4.3.0](/dotnet/docs/reference/Google.Cloud.Dlp.V2/4.3.0/Google.Cloud.Dlp.V2.HybridFindingDetails)\n- [4.2.0](/dotnet/docs/reference/Google.Cloud.Dlp.V2/4.2.0/Google.Cloud.Dlp.V2.HybridFindingDetails)\n- [4.1.0](/dotnet/docs/reference/Google.Cloud.Dlp.V2/4.1.0/Google.Cloud.Dlp.V2.HybridFindingDetails)\n- [4.0.0](/dotnet/docs/reference/Google.Cloud.Dlp.V2/4.0.0/Google.Cloud.Dlp.V2.HybridFindingDetails)\n- [3.5.0](/dotnet/docs/reference/Google.Cloud.Dlp.V2/3.5.0/Google.Cloud.Dlp.V2.HybridFindingDetails)\n- [3.4.0](/dotnet/docs/reference/Google.Cloud.Dlp.V2/3.4.0/Google.Cloud.Dlp.V2.HybridFindingDetails)\n- [3.3.0](/dotnet/docs/reference/Google.Cloud.Dlp.V2/3.3.0/Google.Cloud.Dlp.V2.HybridFindingDetails)\n- [3.2.0](/dotnet/docs/reference/Google.Cloud.Dlp.V2/3.2.0/Google.Cloud.Dlp.V2.HybridFindingDetails)\n- [2.16.0](/dotnet/docs/reference/Google.Cloud.Dlp.V2/2.16.0/Google.Cloud.Dlp.V2.HybridFindingDetails)\n- [2.15.0](/dotnet/docs/reference/Google.Cloud.Dlp.V2/2.15.0/Google.Cloud.Dlp.V2.HybridFindingDetails) \n\n public sealed class HybridFindingDetails : IMessage\u003cHybridFindingDetails\u003e, IEquatable\u003cHybridFindingDetails\u003e, IDeepCloneable\u003cHybridFindingDetails\u003e, IBufferMessage, IMessage\n\nReference documentation and code samples for the Google Cloud Data Loss Prevention v2 API class HybridFindingDetails.\n\nPopulate to associate additional data with each finding. \n\nInheritance\n-----------\n\n[object](https://learn.microsoft.com/dotnet/api/system.object) \\\u003e HybridFindingDetails \n\nImplements\n----------\n\n[IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage-1.html)[HybridFindingDetails](/dotnet/docs/reference/Google.Cloud.Dlp.V2/latest/Google.Cloud.Dlp.V2.HybridFindingDetails), [IEquatable](https://learn.microsoft.com/dotnet/api/system.iequatable-1)[HybridFindingDetails](/dotnet/docs/reference/Google.Cloud.Dlp.V2/latest/Google.Cloud.Dlp.V2.HybridFindingDetails), [IDeepCloneable](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IDeepCloneable-1.html)[HybridFindingDetails](/dotnet/docs/reference/Google.Cloud.Dlp.V2/latest/Google.Cloud.Dlp.V2.HybridFindingDetails), [IBufferMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IBufferMessage.html), [IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage.html) \n\nInherited Members\n-----------------\n\n[object.GetHashCode()](https://learn.microsoft.com/dotnet/api/system.object.gethashcode) \n[object.GetType()](https://learn.microsoft.com/dotnet/api/system.object.gettype) \n[object.ToString()](https://learn.microsoft.com/dotnet/api/system.object.tostring)\n\nNamespace\n---------\n\n[Google.Cloud.Dlp.V2](/dotnet/docs/reference/Google.Cloud.Dlp.V2/latest/Google.Cloud.Dlp.V2)\n\nAssembly\n--------\n\nGoogle.Cloud.Dlp.V2.dll\n\nConstructors\n------------\n\n### HybridFindingDetails()\n\n public HybridFindingDetails()\n\n### HybridFindingDetails(HybridFindingDetails)\n\n public HybridFindingDetails(HybridFindingDetails other)\n\nProperties\n----------\n\n### ContainerDetails\n\n public Container ContainerDetails { get; set; }\n\nDetails about the container where the content being inspected is from.\n\n### FileOffset\n\n public long FileOffset { get; set; }\n\nOffset in bytes of the line, from the beginning of the file, where the\nfinding is located. Populate if the item being scanned is only part of a\nbigger item, such as a shard of a file and you want to track the absolute\nposition of the finding.\n\n### Labels\n\n public MapField\u003cstring, string\u003e Labels { get; }\n\nLabels to represent user provided metadata about the data being inspected.\nIf configured by the job, some key values may be required.\nThe labels associated with `Finding`'s produced by hybrid\ninspection.\n\nLabel keys must be between 1 and 63 characters long and must conform\nto the following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])?`.\n\nLabel values must be between 0 and 63 characters long and must conform\nto the regular expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`.\n\nNo more than 10 labels can be associated with a given finding.\n\nExamples:\n\n- `\"environment\" : \"production\"`\n- `\"pipeline\" : \"etl\"`\n\n### RowOffset\n\n public long RowOffset { get; set; }\n\nOffset of the row for tables. Populate if the row(s) being scanned are\npart of a bigger dataset and you want to keep track of their absolute\nposition.\n\n### TableOptions\n\n public TableOptions TableOptions { get; set; }\n\nIf the container is a table, additional information to make findings\nmeaningful such as the columns that are primary keys. If not known ahead\nof time, can also be set within each inspect hybrid call and the two\nwill be merged. Note that identifying_fields will only be stored to\nBigQuery, and only if the BigQuery action has been included."]]