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

[BindServiceMethod(typeof(DataCatalog), "BindService")]
public abstract class 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
NameDescription
requestCreateEntryRequest

The request received from the client.

contextServerCallContext

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

Returns
TypeDescription
Task<Entry>

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
NameDescription
requestCreateEntryGroupRequest

The request received from the client.

contextServerCallContext

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

Returns
TypeDescription
Task<EntryGroup>

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
NameDescription
requestCreateTagRequest

The request received from the client.

contextServerCallContext

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

Returns
TypeDescription
Task<Tag>

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
NameDescription
requestCreateTagTemplateRequest

The request received from the client.

contextServerCallContext

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

Returns
TypeDescription
Task<TagTemplate>

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
NameDescription
requestCreateTagTemplateFieldRequest

The request received from the client.

contextServerCallContext

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

Returns
TypeDescription
Task<TagTemplateField>

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
NameDescription
requestDeleteEntryRequest

The request received from the client.

contextServerCallContext

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

Returns
TypeDescription
Task<Empty>

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
NameDescription
requestDeleteEntryGroupRequest

The request received from the client.

contextServerCallContext

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

Returns
TypeDescription
Task<Empty>

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
NameDescription
requestDeleteTagRequest

The request received from the client.

contextServerCallContext

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

Returns
TypeDescription
Task<Empty>

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
NameDescription
requestDeleteTagTemplateRequest

The request received from the client.

contextServerCallContext

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

Returns
TypeDescription
Task<Empty>

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
NameDescription
requestDeleteTagTemplateFieldRequest

The request received from the client.

contextServerCallContext

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

Returns
TypeDescription
Task<Empty>

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
NameDescription
requestGetEntryRequest

The request received from the client.

contextServerCallContext

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

Returns
TypeDescription
Task<Entry>

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
NameDescription
requestGetEntryGroupRequest

The request received from the client.

contextServerCallContext

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

Returns
TypeDescription
Task<EntryGroup>

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
NameDescription
requestGetIamPolicyRequest

The request received from the client.

contextServerCallContext

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

Returns
TypeDescription
Task<Policy>

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
NameDescription
requestGetTagTemplateRequest

The request received from the client.

contextServerCallContext

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

Returns
TypeDescription
Task<TagTemplate>

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
NameDescription
requestListEntriesRequest

The request received from the client.

contextServerCallContext

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

Returns
TypeDescription
Task<ListEntriesResponse>

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
NameDescription
requestListEntryGroupsRequest

The request received from the client.

contextServerCallContext

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

Returns
TypeDescription
Task<ListEntryGroupsResponse>

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
NameDescription
requestListTagsRequest

The request received from the client.

contextServerCallContext

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

Returns
TypeDescription
Task<ListTagsResponse>

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
NameDescription
requestLookupEntryRequest

The request received from the client.

contextServerCallContext

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

Returns
TypeDescription
Task<Entry>

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
NameDescription
requestModifyEntryContactsRequest

The request received from the client.

contextServerCallContext

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

Returns
TypeDescription
Task<Contacts>

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
NameDescription
requestModifyEntryOverviewRequest

The request received from the client.

contextServerCallContext

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

Returns
TypeDescription
Task<EntryOverview>

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
NameDescription
requestRenameTagTemplateFieldRequest

The request received from the client.

contextServerCallContext

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

Returns
TypeDescription
Task<TagTemplateField>

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
NameDescription
requestRenameTagTemplateFieldEnumValueRequest

The request received from the client.

contextServerCallContext

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

Returns
TypeDescription
Task<TagTemplateField>

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
NameDescription
requestSearchCatalogRequest

The request received from the client.

contextServerCallContext

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

Returns
TypeDescription
Task<SearchCatalogResponse>

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
NameDescription
requestSetIamPolicyRequest

The request received from the client.

contextServerCallContext

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

Returns
TypeDescription
Task<Policy>

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
NameDescription
requestStarEntryRequest

The request received from the client.

contextServerCallContext

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

Returns
TypeDescription
Task<StarEntryResponse>

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
NameDescription
requestTestIamPermissionsRequest

The request received from the client.

contextServerCallContext

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

Returns
TypeDescription
Task<TestIamPermissionsResponse>

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
NameDescription
requestUnstarEntryRequest

The request received from the client.

contextServerCallContext

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

Returns
TypeDescription
Task<UnstarEntryResponse>

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
NameDescription
requestUpdateEntryRequest

The request received from the client.

contextServerCallContext

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

Returns
TypeDescription
Task<Entry>

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
NameDescription
requestUpdateEntryGroupRequest

The request received from the client.

contextServerCallContext

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

Returns
TypeDescription
Task<EntryGroup>

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
NameDescription
requestUpdateTagRequest

The request received from the client.

contextServerCallContext

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

Returns
TypeDescription
Task<Tag>

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
NameDescription
requestUpdateTagTemplateRequest

The request received from the client.

contextServerCallContext

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

Returns
TypeDescription
Task<TagTemplate>

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
NameDescription
requestUpdateTagTemplateFieldRequest

The request received from the client.

contextServerCallContext

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

Returns
TypeDescription
Task<TagTemplateField>

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