Data Catalog v1 API - Class DataCatalog.DataCatalogBase (2.11.0)

[BindServiceMethod(typeof(DataCatalog), "BindService")]
public abstract class DataCatalog.DataCatalogBase

Reference documentation and code samples for the Data Catalog v1 API class DataCatalog.DataCatalogBase.

Base class for server-side implementations of DataCatalog

Inheritance

object > DataCatalog.DataCatalogBase

Namespace

Google.Cloud.DataCatalog.V1

Assembly

Google.Cloud.DataCatalog.V1.dll

Methods

CreateEntry(CreateEntryRequest, ServerCallContext)

public virtual Task<Entry> CreateEntry(CreateEntryRequest request, ServerCallContext context)

Creates an entry.

You can create entries only with 'FILESET', 'CLUSTER', 'DATA_STREAM', or custom types. Data Catalog automatically creates entries with other types during metadata ingestion from integrated systems.

You must enable the Data Catalog API in the project identified by the parent parameter. For more information, see Data Catalog resource project.

An entry group can have a maximum of 100,000 entries.

Parameters
Name Description
request CreateEntryRequest

The request received from the client.

context ServerCallContext

The context of the server-side call handler being invoked.

Returns
Type Description
TaskEntry

The response to send back to the client (wrapped by a task).

CreateEntryGroup(CreateEntryGroupRequest, ServerCallContext)

public virtual Task<EntryGroup> CreateEntryGroup(CreateEntryGroupRequest request, ServerCallContext context)

Creates an entry group.

An entry group contains logically related entries together with Cloud Identity and Access Management policies. These policies specify users who can create, edit, and view entries within entry groups.

Data Catalog automatically creates entry groups with names that start with the @ symbol for the following resources:

  • BigQuery entries (@bigquery)
  • Pub/Sub topics (@pubsub)
  • Dataproc Metastore services (@dataproc_metastore_{SERVICE_NAME_HASH})

You can create your own entry groups for Cloud Storage fileset entries and custom entries together with the corresponding IAM policies. User-created entry groups can't contain the @ symbol, it is reserved for automatically created groups.

Entry groups, like entries, can be searched.

A maximum of 10,000 entry groups may be created per organization across all locations.

You must enable the Data Catalog API in the project identified by the parent parameter. For more information, see Data Catalog resource project.

Parameters
Name Description
request CreateEntryGroupRequest

The request received from the client.

context ServerCallContext

The context of the server-side call handler being invoked.

Returns
Type Description
TaskEntryGroup

The response to send back to the client (wrapped by a task).

CreateTag(CreateTagRequest, ServerCallContext)

public virtual Task<Tag> CreateTag(CreateTagRequest request, ServerCallContext context)

Creates a tag and assigns it to:

  • An [Entry][google.cloud.datacatalog.v1.Entry] if the method name is projects.locations.entryGroups.entries.tags.create.
  • Or [EntryGroup][google.cloud.datacatalog.v1.EntryGroup]if the method name is projects.locations.entryGroups.tags.create.

Note: The project identified by the parent parameter for the tag and the tag template used to create the tag must be in the same organization.

Parameters
Name Description
request CreateTagRequest

The request received from the client.

context ServerCallContext

The context of the server-side call handler being invoked.

Returns
Type Description
TaskTag

The response to send back to the client (wrapped by a task).

CreateTagTemplate(CreateTagTemplateRequest, ServerCallContext)

public virtual Task<TagTemplate> CreateTagTemplate(CreateTagTemplateRequest request, ServerCallContext context)

Creates a tag template.

You must enable the Data Catalog API in the project identified by the parent parameter. For more information, see Data Catalog resource project.

Parameters
Name Description
request CreateTagTemplateRequest

The request received from the client.

context ServerCallContext

The context of the server-side call handler being invoked.

Returns
Type Description
TaskTagTemplate

The response to send back to the client (wrapped by a task).

CreateTagTemplateField(CreateTagTemplateFieldRequest, ServerCallContext)

public virtual Task<TagTemplateField> CreateTagTemplateField(CreateTagTemplateFieldRequest request, ServerCallContext context)

Creates a field in a tag template.

You must enable the Data Catalog API in the project identified by the parent parameter. For more information, see Data Catalog resource project.

Parameters
Name Description
request CreateTagTemplateFieldRequest

The request received from the client.

context ServerCallContext

The context of the server-side call handler being invoked.

Returns
Type Description
TaskTagTemplateField

The response to send back to the client (wrapped by a task).

DeleteEntry(DeleteEntryRequest, ServerCallContext)

public virtual Task<Empty> DeleteEntry(DeleteEntryRequest request, ServerCallContext context)

Deletes an existing entry.

You can delete only the entries created by the [CreateEntry][google.cloud.datacatalog.v1.DataCatalog.CreateEntry] method.

You must enable the Data Catalog API in the project identified by the name parameter. For more information, see Data Catalog resource project.

Parameters
Name Description
request DeleteEntryRequest

The request received from the client.

context ServerCallContext

The context of the server-side call handler being invoked.

Returns
Type Description
TaskEmpty

The response to send back to the client (wrapped by a task).

DeleteEntryGroup(DeleteEntryGroupRequest, ServerCallContext)

public virtual Task<Empty> DeleteEntryGroup(DeleteEntryGroupRequest request, ServerCallContext context)

Deletes an entry group.

You must enable the Data Catalog API in the project identified by the name parameter. For more information, see Data Catalog resource project.

Parameters
Name Description
request DeleteEntryGroupRequest

The request received from the client.

context ServerCallContext

The context of the server-side call handler being invoked.

Returns
Type Description
TaskEmpty

The response to send back to the client (wrapped by a task).

DeleteTag(DeleteTagRequest, ServerCallContext)

public virtual Task<Empty> DeleteTag(DeleteTagRequest request, ServerCallContext context)

Deletes a tag.

Parameters
Name Description
request DeleteTagRequest

The request received from the client.

context ServerCallContext

The context of the server-side call handler being invoked.

Returns
Type Description
TaskEmpty

The response to send back to the client (wrapped by a task).

DeleteTagTemplate(DeleteTagTemplateRequest, ServerCallContext)

public virtual Task<Empty> DeleteTagTemplate(DeleteTagTemplateRequest request, ServerCallContext context)

Deletes a tag template and all tags that use it.

You must enable the Data Catalog API in the project identified by the name parameter. For more information, see Data Catalog resource project.

Parameters
Name Description
request DeleteTagTemplateRequest

The request received from the client.

context ServerCallContext

The context of the server-side call handler being invoked.

Returns
Type Description
TaskEmpty

The response to send back to the client (wrapped by a task).

DeleteTagTemplateField(DeleteTagTemplateFieldRequest, ServerCallContext)

public virtual Task<Empty> DeleteTagTemplateField(DeleteTagTemplateFieldRequest request, ServerCallContext context)

Deletes a field in a tag template and all uses of this field from the tags based on this template.

You must enable the Data Catalog API in the project identified by the name parameter. For more information, see Data Catalog resource project.

Parameters
Name Description
request DeleteTagTemplateFieldRequest

The request received from the client.

context ServerCallContext

The context of the server-side call handler being invoked.

Returns
Type Description
TaskEmpty

The response to send back to the client (wrapped by a task).

GetEntry(GetEntryRequest, ServerCallContext)

public virtual Task<Entry> GetEntry(GetEntryRequest request, ServerCallContext context)

Gets an entry.

Parameters
Name Description
request GetEntryRequest

The request received from the client.

context ServerCallContext

The context of the server-side call handler being invoked.

Returns
Type Description
TaskEntry

The response to send back to the client (wrapped by a task).

GetEntryGroup(GetEntryGroupRequest, ServerCallContext)

public virtual Task<EntryGroup> GetEntryGroup(GetEntryGroupRequest request, ServerCallContext context)

Gets an entry group.

Parameters
Name Description
request GetEntryGroupRequest

The request received from the client.

context ServerCallContext

The context of the server-side call handler being invoked.

Returns
Type Description
TaskEntryGroup

The response to send back to the client (wrapped by a task).

GetIamPolicy(GetIamPolicyRequest, ServerCallContext)

public virtual Task<Policy> GetIamPolicy(GetIamPolicyRequest request, ServerCallContext context)

Gets the access control policy for a resource.

May return:

  • ANOT_FOUND error if the resource doesn't exist or you don't have the permission to view it.
  • An empty policy if the resource exists but doesn't have a set policy.

Supported resources are:

  • Tag templates
  • Entry groups

Note: This method doesn't get policies from Google Cloud Platform resources ingested into Data Catalog.

To call this method, you must have the following Google IAM permissions:

  • datacatalog.tagTemplates.getIamPolicy to get policies on tag templates.
  • datacatalog.entryGroups.getIamPolicy to get policies on entry groups.
Parameters
Name Description
request GetIamPolicyRequest

The request received from the client.

context ServerCallContext

The context of the server-side call handler being invoked.

Returns
Type Description
TaskPolicy

The response to send back to the client (wrapped by a task).

GetTagTemplate(GetTagTemplateRequest, ServerCallContext)

public virtual Task<TagTemplate> GetTagTemplate(GetTagTemplateRequest request, ServerCallContext context)

Gets a tag template.

Parameters
Name Description
request GetTagTemplateRequest

The request received from the client.

context ServerCallContext

The context of the server-side call handler being invoked.

Returns
Type Description
TaskTagTemplate

The response to send back to the client (wrapped by a task).

ImportEntries(ImportEntriesRequest, ServerCallContext)

public virtual Task<Operation> ImportEntries(ImportEntriesRequest request, ServerCallContext context)

Imports entries from a source, such as data previously dumped into a Cloud Storage bucket, into Data Catalog. Import of entries is a sync operation that reconciles the state of the third-party system with the Data Catalog.

ImportEntries accepts source data snapshots of a third-party system. Snapshot should be delivered as a .wire or base65-encoded .txt file containing a sequence of Protocol Buffer messages of [DumpItem][google.cloud.datacatalog.v1.DumpItem] type.

ImportEntries returns a [long-running operation] [google.longrunning.Operation] resource that can be queried with [Operations.GetOperation][google.longrunning.Operations.GetOperation] to return [ImportEntriesMetadata][google.cloud.datacatalog.v1.ImportEntriesMetadata] and an [ImportEntriesResponse][google.cloud.datacatalog.v1.ImportEntriesResponse] message.

Parameters
Name Description
request ImportEntriesRequest

The request received from the client.

context ServerCallContext

The context of the server-side call handler being invoked.

Returns
Type Description
TaskOperation

The response to send back to the client (wrapped by a task).

ListEntries(ListEntriesRequest, ServerCallContext)

public virtual Task<ListEntriesResponse> ListEntries(ListEntriesRequest request, ServerCallContext context)

Lists entries.

Note: Currently, this method can list only custom entries. To get a list of both custom and automatically created entries, use [SearchCatalog][google.cloud.datacatalog.v1.DataCatalog.SearchCatalog].

Parameters
Name Description
request ListEntriesRequest

The request received from the client.

context ServerCallContext

The context of the server-side call handler being invoked.

Returns
Type Description
TaskListEntriesResponse

The response to send back to the client (wrapped by a task).

ListEntryGroups(ListEntryGroupsRequest, ServerCallContext)

public virtual Task<ListEntryGroupsResponse> ListEntryGroups(ListEntryGroupsRequest request, ServerCallContext context)

Lists entry groups.

Parameters
Name Description
request ListEntryGroupsRequest

The request received from the client.

context ServerCallContext

The context of the server-side call handler being invoked.

Returns
Type Description
TaskListEntryGroupsResponse

The response to send back to the client (wrapped by a task).

ListTags(ListTagsRequest, ServerCallContext)

public virtual Task<ListTagsResponse> ListTags(ListTagsRequest request, ServerCallContext context)

Lists tags assigned to an [Entry][google.cloud.datacatalog.v1.Entry]. The [columns][google.cloud.datacatalog.v1.Tag.column] in the response are lowercased.

Parameters
Name Description
request ListTagsRequest

The request received from the client.

context ServerCallContext

The context of the server-side call handler being invoked.

Returns
Type Description
TaskListTagsResponse

The response to send back to the client (wrapped by a task).

LookupEntry(LookupEntryRequest, ServerCallContext)

public virtual Task<Entry> LookupEntry(LookupEntryRequest request, ServerCallContext context)

Gets an entry by its target resource name.

The resource name comes from the source Google Cloud Platform service.

Parameters
Name Description
request LookupEntryRequest

The request received from the client.

context ServerCallContext

The context of the server-side call handler being invoked.

Returns
Type Description
TaskEntry

The response to send back to the client (wrapped by a task).

ModifyEntryContacts(ModifyEntryContactsRequest, ServerCallContext)

public virtual Task<Contacts> ModifyEntryContacts(ModifyEntryContactsRequest request, ServerCallContext context)

Modifies contacts, part of the business context of an [Entry][google.cloud.datacatalog.v1.Entry].

To call this method, you must have the datacatalog.entries.updateContacts IAM permission on the corresponding project.

Parameters
Name Description
request ModifyEntryContactsRequest

The request received from the client.

context ServerCallContext

The context of the server-side call handler being invoked.

Returns
Type Description
TaskContacts

The response to send back to the client (wrapped by a task).

ModifyEntryOverview(ModifyEntryOverviewRequest, ServerCallContext)

public virtual Task<EntryOverview> ModifyEntryOverview(ModifyEntryOverviewRequest request, ServerCallContext context)

Modifies entry overview, part of the business context of an [Entry][google.cloud.datacatalog.v1.Entry].

To call this method, you must have the datacatalog.entries.updateOverview IAM permission on the corresponding project.

Parameters
Name Description
request ModifyEntryOverviewRequest

The request received from the client.

context ServerCallContext

The context of the server-side call handler being invoked.

Returns
Type Description
TaskEntryOverview

The response to send back to the client (wrapped by a task).

ReconcileTags(ReconcileTagsRequest, ServerCallContext)

public virtual Task<Operation> ReconcileTags(ReconcileTagsRequest request, ServerCallContext context)

ReconcileTags creates or updates a list of tags on the entry. If the [ReconcileTagsRequest.force_delete_missing][google.cloud.datacatalog.v1.ReconcileTagsRequest.force_delete_missing] parameter is set, the operation deletes tags not included in the input tag list.

ReconcileTags returns a [long-running operation] [google.longrunning.Operation] resource that can be queried with [Operations.GetOperation][google.longrunning.Operations.GetOperation] to return [ReconcileTagsMetadata] [google.cloud.datacatalog.v1.ReconcileTagsMetadata] and a [ReconcileTagsResponse] [google.cloud.datacatalog.v1.ReconcileTagsResponse] message.

Parameters
Name Description
request ReconcileTagsRequest

The request received from the client.

context ServerCallContext

The context of the server-side call handler being invoked.

Returns
Type Description
TaskOperation

The response to send back to the client (wrapped by a task).

RenameTagTemplateField(RenameTagTemplateFieldRequest, ServerCallContext)

public virtual Task<TagTemplateField> RenameTagTemplateField(RenameTagTemplateFieldRequest request, ServerCallContext context)

Renames a field in a tag template.

You must enable the Data Catalog API in the project identified by the name parameter. For more information, see Data Catalog resource project.

Parameters
Name Description
request RenameTagTemplateFieldRequest

The request received from the client.

context ServerCallContext

The context of the server-side call handler being invoked.

Returns
Type Description
TaskTagTemplateField

The response to send back to the client (wrapped by a task).

RenameTagTemplateFieldEnumValue(RenameTagTemplateFieldEnumValueRequest, ServerCallContext)

public virtual Task<TagTemplateField> RenameTagTemplateFieldEnumValue(RenameTagTemplateFieldEnumValueRequest request, ServerCallContext context)

Renames an enum value in a tag template.

Within a single enum field, enum values must be unique.

Parameters
Name Description
request RenameTagTemplateFieldEnumValueRequest

The request received from the client.

context ServerCallContext

The context of the server-side call handler being invoked.

Returns
Type Description
TaskTagTemplateField

The response to send back to the client (wrapped by a task).

SearchCatalog(SearchCatalogRequest, ServerCallContext)

public virtual Task<SearchCatalogResponse> SearchCatalog(SearchCatalogRequest request, ServerCallContext context)

Searches Data Catalog for multiple resources like entries and tags that match a query.

This is a Custom Method that doesn't return all information on a resource, only its ID and high level fields. To get more information, you can subsequently call specific get methods.

Note: Data Catalog search queries don't guarantee full recall. Results that match your query might not be returned, even in subsequent result pages. Additionally, returned (and not returned) results can vary if you repeat search queries.

For more information, see Data Catalog search syntax.

Parameters
Name Description
request SearchCatalogRequest

The request received from the client.

context ServerCallContext

The context of the server-side call handler being invoked.

Returns
Type Description
TaskSearchCatalogResponse

The response to send back to the client (wrapped by a task).

SetIamPolicy(SetIamPolicyRequest, ServerCallContext)

public virtual Task<Policy> SetIamPolicy(SetIamPolicyRequest request, ServerCallContext context)

Sets an access control policy for a resource. Replaces any existing policy.

Supported resources are:

  • Tag templates
  • Entry groups

Note: This method sets policies only within Data Catalog and can't be used to manage policies in BigQuery, Pub/Sub, Dataproc Metastore, and any external Google Cloud Platform resources synced with the Data Catalog.

To call this method, you must have the following Google IAM permissions:

  • datacatalog.tagTemplates.setIamPolicy to set policies on tag templates.
  • datacatalog.entryGroups.setIamPolicy to set policies on entry groups.
Parameters
Name Description
request SetIamPolicyRequest

The request received from the client.

context ServerCallContext

The context of the server-side call handler being invoked.

Returns
Type Description
TaskPolicy

The response to send back to the client (wrapped by a task).

StarEntry(StarEntryRequest, ServerCallContext)

public virtual Task<StarEntryResponse> StarEntry(StarEntryRequest request, ServerCallContext context)

Marks an [Entry][google.cloud.datacatalog.v1.Entry] as starred by the current user. Starring information is private to each user.

Parameters
Name Description
request StarEntryRequest

The request received from the client.

context ServerCallContext

The context of the server-side call handler being invoked.

Returns
Type Description
TaskStarEntryResponse

The response to send back to the client (wrapped by a task).

TestIamPermissions(TestIamPermissionsRequest, ServerCallContext)

public virtual Task<TestIamPermissionsResponse> TestIamPermissions(TestIamPermissionsRequest request, ServerCallContext context)

Gets your permissions on a resource.

Returns an empty set of permissions if the resource doesn't exist.

Supported resources are:

  • Tag templates
  • Entry groups

Note: This method gets policies only within Data Catalog and can't be used to get policies from BigQuery, Pub/Sub, Dataproc Metastore, and any external Google Cloud Platform resources ingested into Data Catalog.

No Google IAM permissions are required to call this method.

Parameters
Name Description
request TestIamPermissionsRequest

The request received from the client.

context ServerCallContext

The context of the server-side call handler being invoked.

Returns
Type Description
TaskTestIamPermissionsResponse

The response to send back to the client (wrapped by a task).

UnstarEntry(UnstarEntryRequest, ServerCallContext)

public virtual Task<UnstarEntryResponse> UnstarEntry(UnstarEntryRequest request, ServerCallContext context)

Marks an [Entry][google.cloud.datacatalog.v1.Entry] as NOT starred by the current user. Starring information is private to each user.

Parameters
Name Description
request UnstarEntryRequest

The request received from the client.

context ServerCallContext

The context of the server-side call handler being invoked.

Returns
Type Description
TaskUnstarEntryResponse

The response to send back to the client (wrapped by a task).

UpdateEntry(UpdateEntryRequest, ServerCallContext)

public virtual Task<Entry> UpdateEntry(UpdateEntryRequest request, ServerCallContext context)

Updates an existing entry.

You must enable the Data Catalog API in the project identified by the entry.name parameter. For more information, see Data Catalog resource project.

Parameters
Name Description
request UpdateEntryRequest

The request received from the client.

context ServerCallContext

The context of the server-side call handler being invoked.

Returns
Type Description
TaskEntry

The response to send back to the client (wrapped by a task).

UpdateEntryGroup(UpdateEntryGroupRequest, ServerCallContext)

public virtual Task<EntryGroup> UpdateEntryGroup(UpdateEntryGroupRequest request, ServerCallContext context)

Updates an entry group.

You must enable the Data Catalog API in the project identified by the entry_group.name parameter. For more information, see Data Catalog resource project.

Parameters
Name Description
request UpdateEntryGroupRequest

The request received from the client.

context ServerCallContext

The context of the server-side call handler being invoked.

Returns
Type Description
TaskEntryGroup

The response to send back to the client (wrapped by a task).

UpdateTag(UpdateTagRequest, ServerCallContext)

public virtual Task<Tag> UpdateTag(UpdateTagRequest request, ServerCallContext context)

Updates an existing tag.

Parameters
Name Description
request UpdateTagRequest

The request received from the client.

context ServerCallContext

The context of the server-side call handler being invoked.

Returns
Type Description
TaskTag

The response to send back to the client (wrapped by a task).

UpdateTagTemplate(UpdateTagTemplateRequest, ServerCallContext)

public virtual Task<TagTemplate> UpdateTagTemplate(UpdateTagTemplateRequest request, ServerCallContext context)

Updates a tag template.

You can't update template fields with this method. These fields are separate resources with their own create, update, and delete methods.

You must enable the Data Catalog API in the project identified by the tag_template.name parameter. For more information, see Data Catalog resource project.

Parameters
Name Description
request UpdateTagTemplateRequest

The request received from the client.

context ServerCallContext

The context of the server-side call handler being invoked.

Returns
Type Description
TaskTagTemplate

The response to send back to the client (wrapped by a task).

UpdateTagTemplateField(UpdateTagTemplateFieldRequest, ServerCallContext)

public virtual Task<TagTemplateField> UpdateTagTemplateField(UpdateTagTemplateFieldRequest request, ServerCallContext context)

Updates a field in a tag template.

You can't update the field type with this method.

You must enable the Data Catalog API in the project identified by the name parameter. For more information, see Data Catalog resource project.

Parameters
Name Description
request UpdateTagTemplateFieldRequest

The request received from the client.

context ServerCallContext

The context of the server-side call handler being invoked.

Returns
Type Description
TaskTagTemplateField

The response to send back to the client (wrapped by a task).