public sealed class Asset.Types.DiscoverySpec : IMessage<Asset.Types.DiscoverySpec>, IEquatable<Asset.Types.DiscoverySpec>, IDeepCloneable<Asset.Types.DiscoverySpec>, IBufferMessage, IMessage
Reference documentation and code samples for the Cloud Dataplex v1 API class Asset.Types.DiscoverySpec.
Settings to manage the metadata discovery and publishing for an asset.
public RepeatedField<string> ExcludePatterns { get; }
Optional. The list of patterns to apply for selecting data to exclude
during discovery. For Cloud Storage bucket assets, these are interpreted
as glob patterns used to match object names. For BigQuery dataset assets,
these are interpreted as patterns to match table names.
public RepeatedField<string> IncludePatterns { get; }
Optional. The list of patterns to apply for selecting data to include
during discovery if only a subset of the data should considered. For
Cloud Storage bucket assets, these are interpreted as glob patterns used
to match object names. For BigQuery dataset assets, these are interpreted
as patterns to match table names.
Optional. Cron schedule (https://en.wikipedia.org/wiki/Cron) for
running discovery periodically. Successive discovery runs must be
scheduled at least 60 minutes apart. The default value is to run
discovery every 60 minutes.
To explicitly set a timezone to the cron tab, apply a prefix in the
cron tab: "CRON_TZ=${IANA_TIME_ZONE}" or TZ=${IANA_TIME_ZONE}".
The ${IANA_TIME_ZONE} may only be a valid string from IANA time zone
database. For example, CRON_TZ=America/New_York 1 * * * *, or
TZ=America/New_York 1 * * * *.
[[["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\u003eThis webpage provides documentation for the \u003ccode\u003eAsset.Types.DiscoverySpec\u003c/code\u003e class within the Google Cloud Dataplex V1 API, detailing settings for managing metadata discovery and publishing for an asset.\u003c/p\u003e\n"],["\u003cp\u003eThe page offers links to various versions of the \u003ccode\u003eAsset.Types.DiscoverySpec\u003c/code\u003e class documentation, ranging from version 1.0.0 to the latest version 3.6.0, allowing users to access information for specific releases.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eAsset.Types.DiscoverySpec\u003c/code\u003e implements several interfaces, including \u003ccode\u003eIMessage\u003c/code\u003e, \u003ccode\u003eIEquatable\u003c/code\u003e, \u003ccode\u003eIDeepCloneable\u003c/code\u003e, and \u003ccode\u003eIBufferMessage\u003c/code\u003e, indicating its role in message handling and data management.\u003c/p\u003e\n"],["\u003cp\u003eKey properties of the \u003ccode\u003eDiscoverySpec\u003c/code\u003e class include settings for CSV and JSON data configurations (\u003ccode\u003eCsvOptions\u003c/code\u003e, \u003ccode\u003eJsonOptions\u003c/code\u003e), enabling or disabling discovery (\u003ccode\u003eEnabled\u003c/code\u003e), and defining patterns for including or excluding data (\u003ccode\u003eIncludePatterns\u003c/code\u003e, \u003ccode\u003eExcludePatterns\u003c/code\u003e).\u003c/p\u003e\n"],["\u003cp\u003eUsers can define a cron schedule for periodic discovery runs using the \u003ccode\u003eSchedule\u003c/code\u003e property, allowing for automated updates to metadata, where each run must be scheduled at least 60 minutes apart, with the default of every 60 minutes.\u003c/p\u003e\n"]]],[],null,["# Cloud Dataplex v1 API - Class Asset.Types.DiscoverySpec (3.9.0)\n\nVersion latestkeyboard_arrow_down\n\n- [3.9.0 (latest)](/dotnet/docs/reference/Google.Cloud.Dataplex.V1/latest/Google.Cloud.Dataplex.V1.Asset.Types.DiscoverySpec)\n- [3.8.0](/dotnet/docs/reference/Google.Cloud.Dataplex.V1/3.8.0/Google.Cloud.Dataplex.V1.Asset.Types.DiscoverySpec)\n- [3.7.0](/dotnet/docs/reference/Google.Cloud.Dataplex.V1/3.7.0/Google.Cloud.Dataplex.V1.Asset.Types.DiscoverySpec)\n- [3.6.0](/dotnet/docs/reference/Google.Cloud.Dataplex.V1/3.6.0/Google.Cloud.Dataplex.V1.Asset.Types.DiscoverySpec)\n- [3.5.0](/dotnet/docs/reference/Google.Cloud.Dataplex.V1/3.5.0/Google.Cloud.Dataplex.V1.Asset.Types.DiscoverySpec)\n- [3.4.0](/dotnet/docs/reference/Google.Cloud.Dataplex.V1/3.4.0/Google.Cloud.Dataplex.V1.Asset.Types.DiscoverySpec)\n- [3.3.0](/dotnet/docs/reference/Google.Cloud.Dataplex.V1/3.3.0/Google.Cloud.Dataplex.V1.Asset.Types.DiscoverySpec)\n- [3.2.0](/dotnet/docs/reference/Google.Cloud.Dataplex.V1/3.2.0/Google.Cloud.Dataplex.V1.Asset.Types.DiscoverySpec)\n- [3.1.0](/dotnet/docs/reference/Google.Cloud.Dataplex.V1/3.1.0/Google.Cloud.Dataplex.V1.Asset.Types.DiscoverySpec)\n- [3.0.0](/dotnet/docs/reference/Google.Cloud.Dataplex.V1/3.0.0/Google.Cloud.Dataplex.V1.Asset.Types.DiscoverySpec)\n- [2.15.0](/dotnet/docs/reference/Google.Cloud.Dataplex.V1/2.15.0/Google.Cloud.Dataplex.V1.Asset.Types.DiscoverySpec)\n- [2.14.0](/dotnet/docs/reference/Google.Cloud.Dataplex.V1/2.14.0/Google.Cloud.Dataplex.V1.Asset.Types.DiscoverySpec)\n- [2.13.0](/dotnet/docs/reference/Google.Cloud.Dataplex.V1/2.13.0/Google.Cloud.Dataplex.V1.Asset.Types.DiscoverySpec)\n- [2.12.0](/dotnet/docs/reference/Google.Cloud.Dataplex.V1/2.12.0/Google.Cloud.Dataplex.V1.Asset.Types.DiscoverySpec)\n- [2.11.0](/dotnet/docs/reference/Google.Cloud.Dataplex.V1/2.11.0/Google.Cloud.Dataplex.V1.Asset.Types.DiscoverySpec)\n- [2.10.0](/dotnet/docs/reference/Google.Cloud.Dataplex.V1/2.10.0/Google.Cloud.Dataplex.V1.Asset.Types.DiscoverySpec)\n- [2.9.0](/dotnet/docs/reference/Google.Cloud.Dataplex.V1/2.9.0/Google.Cloud.Dataplex.V1.Asset.Types.DiscoverySpec)\n- [2.8.0](/dotnet/docs/reference/Google.Cloud.Dataplex.V1/2.8.0/Google.Cloud.Dataplex.V1.Asset.Types.DiscoverySpec)\n- [2.7.0](/dotnet/docs/reference/Google.Cloud.Dataplex.V1/2.7.0/Google.Cloud.Dataplex.V1.Asset.Types.DiscoverySpec)\n- [2.6.0](/dotnet/docs/reference/Google.Cloud.Dataplex.V1/2.6.0/Google.Cloud.Dataplex.V1.Asset.Types.DiscoverySpec)\n- [2.5.0](/dotnet/docs/reference/Google.Cloud.Dataplex.V1/2.5.0/Google.Cloud.Dataplex.V1.Asset.Types.DiscoverySpec)\n- [2.4.0](/dotnet/docs/reference/Google.Cloud.Dataplex.V1/2.4.0/Google.Cloud.Dataplex.V1.Asset.Types.DiscoverySpec)\n- [2.3.0](/dotnet/docs/reference/Google.Cloud.Dataplex.V1/2.3.0/Google.Cloud.Dataplex.V1.Asset.Types.DiscoverySpec)\n- [2.2.0](/dotnet/docs/reference/Google.Cloud.Dataplex.V1/2.2.0/Google.Cloud.Dataplex.V1.Asset.Types.DiscoverySpec)\n- [2.1.0](/dotnet/docs/reference/Google.Cloud.Dataplex.V1/2.1.0/Google.Cloud.Dataplex.V1.Asset.Types.DiscoverySpec)\n- [2.0.0](/dotnet/docs/reference/Google.Cloud.Dataplex.V1/2.0.0/Google.Cloud.Dataplex.V1.Asset.Types.DiscoverySpec)\n- [1.0.0](/dotnet/docs/reference/Google.Cloud.Dataplex.V1/1.0.0/Google.Cloud.Dataplex.V1.Asset.Types.DiscoverySpec) \n\n public sealed class Asset.Types.DiscoverySpec : IMessage\u003cAsset.Types.DiscoverySpec\u003e, IEquatable\u003cAsset.Types.DiscoverySpec\u003e, IDeepCloneable\u003cAsset.Types.DiscoverySpec\u003e, IBufferMessage, IMessage\n\nReference documentation and code samples for the Cloud Dataplex v1 API class Asset.Types.DiscoverySpec.\n\nSettings to manage the metadata discovery and publishing for an asset. \n\nInheritance\n-----------\n\n[object](https://learn.microsoft.com/dotnet/api/system.object) \\\u003e Asset.Types.DiscoverySpec \n\nImplements\n----------\n\n[IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage-1.html)[Asset](/dotnet/docs/reference/Google.Cloud.Dataplex.V1/latest/Google.Cloud.Dataplex.V1.Asset)[Types](/dotnet/docs/reference/Google.Cloud.Dataplex.V1/latest/Google.Cloud.Dataplex.V1.Asset.Types)[DiscoverySpec](/dotnet/docs/reference/Google.Cloud.Dataplex.V1/latest/Google.Cloud.Dataplex.V1.Asset.Types.DiscoverySpec), [IEquatable](https://learn.microsoft.com/dotnet/api/system.iequatable-1)[Asset](/dotnet/docs/reference/Google.Cloud.Dataplex.V1/latest/Google.Cloud.Dataplex.V1.Asset)[Types](/dotnet/docs/reference/Google.Cloud.Dataplex.V1/latest/Google.Cloud.Dataplex.V1.Asset.Types)[DiscoverySpec](/dotnet/docs/reference/Google.Cloud.Dataplex.V1/latest/Google.Cloud.Dataplex.V1.Asset.Types.DiscoverySpec), [IDeepCloneable](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IDeepCloneable-1.html)[Asset](/dotnet/docs/reference/Google.Cloud.Dataplex.V1/latest/Google.Cloud.Dataplex.V1.Asset)[Types](/dotnet/docs/reference/Google.Cloud.Dataplex.V1/latest/Google.Cloud.Dataplex.V1.Asset.Types)[DiscoverySpec](/dotnet/docs/reference/Google.Cloud.Dataplex.V1/latest/Google.Cloud.Dataplex.V1.Asset.Types.DiscoverySpec), [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.Dataplex.V1](/dotnet/docs/reference/Google.Cloud.Dataplex.V1/latest/Google.Cloud.Dataplex.V1)\n\nAssembly\n--------\n\nGoogle.Cloud.Dataplex.V1.dll\n\nConstructors\n------------\n\n### DiscoverySpec()\n\n public DiscoverySpec()\n\n### DiscoverySpec(DiscoverySpec)\n\n public DiscoverySpec(Asset.Types.DiscoverySpec other)\n\nProperties\n----------\n\n### CsvOptions\n\n public Asset.Types.DiscoverySpec.Types.CsvOptions CsvOptions { get; set; }\n\nOptional. Configuration for CSV data.\n\n### Enabled\n\n public bool Enabled { get; set; }\n\nOptional. Whether discovery is enabled.\n\n### ExcludePatterns\n\n public RepeatedField\u003cstring\u003e ExcludePatterns { get; }\n\nOptional. The list of patterns to apply for selecting data to exclude\nduring discovery. For Cloud Storage bucket assets, these are interpreted\nas glob patterns used to match object names. For BigQuery dataset assets,\nthese are interpreted as patterns to match table names.\n\n### HasSchedule\n\n public bool HasSchedule { get; }\n\nGets whether the \"schedule\" field is set\n\n### IncludePatterns\n\n public RepeatedField\u003cstring\u003e IncludePatterns { get; }\n\nOptional. The list of patterns to apply for selecting data to include\nduring discovery if only a subset of the data should considered. For\nCloud Storage bucket assets, these are interpreted as glob patterns used\nto match object names. For BigQuery dataset assets, these are interpreted\nas patterns to match table names.\n\n### JsonOptions\n\n public Asset.Types.DiscoverySpec.Types.JsonOptions JsonOptions { get; set; }\n\nOptional. Configuration for Json data.\n\n### Schedule\n\n public string Schedule { get; set; }\n\nOptional. Cron schedule (\u003chttps://en.wikipedia.org/wiki/Cron\u003e) for\nrunning discovery periodically. Successive discovery runs must be\nscheduled at least 60 minutes apart. The default value is to run\ndiscovery every 60 minutes.\n\nTo explicitly set a timezone to the cron tab, apply a prefix in the\ncron tab: \"CRON_TZ=${IANA_TIME_ZONE}\" or TZ=${IANA_TIME_ZONE}\".\nThe ${IANA_TIME_ZONE} may only be a valid string from IANA time zone\ndatabase. For example, `CRON_TZ=America/New_York 1 * * * *`, or\n`TZ=America/New_York 1 * * * *`.\n\n### TriggerCase\n\n public Asset.Types.DiscoverySpec.TriggerOneofCase TriggerCase { get; }"]]