Data Catalog is deprecated. If you are migrating programmatic workflows, scripts, client libraries, or Terraform configurations from Data Catalog to Knowledge Catalog, you must update your code to use the Dataplex API.
This document provides a comprehensive mapping of Data Catalog resources, features, and API methods to their equivalents in the Dataplex API.
For the step-by-step migration process, see Transition from Data Catalog to Knowledge Catalog. For API reference documentation, see the Dataplex API REST documentation and Dataplex API RPC documentation.
Resource mapping
The following table describes how resources in Data Catalog correspond to resources in Knowledge Catalog:
| Data Catalog resource | Knowledge Catalog resource | Description |
|---|---|---|
| Public tag template | Aspect type (global) |
Tag templates are regional resources in Data Catalog that
can be used across regions. They correspond to global aspect
types in Knowledge Catalog. |
| Public tag | Optional aspect | Public tags correspond to optional aspects attached to an entry or column in Knowledge Catalog. |
| Entry group | Entry group | Entry groups serve as organizational and security containers in both
services. For Google Cloud sources, system entry groups such as
@bigquery are established automatically per project. |
| Custom entry | Custom entry (with required aspects) | Standard custom entry properties are modeled as required aspects
defined by the custom entry's EntryType. |
| System (Google Cloud) entry | System entry (with required aspects) | Metadata describing built-in entities (such as Schema for
BigQuery tables) is captured in required aspects of
system-defined aspect types. |
| Business glossaries | Business glossaries | Taxonomies of business terms standardizing business context across the enterprise. |
Feature comparison
The following table compares the metadata management capabilities of Knowledge Catalog and Data Catalog:
| Feature | Knowledge Catalog | Data Catalog |
|---|---|---|
| Supported Google Cloud sources | All sources described in Supported Google Cloud sources. | All sources described in Data Catalog documentation. |
| Custom sources ingestion | Ingestion into custom entries with governed structure defined by entry types. Data Catalog custom entries and entry groups are made
available in Knowledge Catalog under the
|
Ingestion into generic custom entries. |
| Metadata enrichment | Captured using business glossaries, aspects, and aspect types. Entry links are supported. You can attach aspects directly to entry links. |
Captured using business glossaries, tags, and tag templates. Entry links aren't supported. |
| Entry links | Supported. Built-in types such as synonym,
definition, related, and
schema-join let you connect entries and columns. |
Not available. |
| Metadata change feeds | Near-real-time metadata change notifications streamed to Pub/Sub. | Not available. |
| Search | Search is performed over all supported Google Cloud sources, custom entries, aspects, and migrated Data Catalog content within the same organization and VPC Service Controls perimeter. | Search is performed over supported sources, custom entries, and tags created in Data Catalog. |
| Data lineage | Retrieves entry details for asset nodes using the Dataplex API. Displays attached aspects in the Google Cloud console. | Retrieves entry details using the Data Catalog API. |
| Business glossaries | Lets you build taxonomies of business terms and associate them with both data assets (entries) and columns. | Lets you associate terms with columns. |
Map Data Catalog API methods to Knowledge Catalog
The following tables provide a method-by-method mapping between the
Data Catalog API (google.cloud.datacatalog.v1) and the
Dataplex API (google.cloud.dataplex.v1.CatalogService).
Entry groups
The concept of entry groups is consistent across both services:
| Data Catalog API method | Dataplex API method |
|---|---|
projects.locations.entryGroups.create (REST)CreateEntryGroup (RPC) |
projects.locations.entryGroups.create (REST)CreateEntryGroup (RPC) |
projects.locations.entryGroups.get (REST)GetEntryGroup (RPC) |
projects.locations.entryGroups.get (REST)GetEntryGroup (RPC) |
projects.locations.entryGroups.patch (REST)UpdateEntryGroup (RPC) |
projects.locations.entryGroups.patch (REST)UpdateEntryGroup (RPC) |
projects.locations.entryGroups.delete (REST)DeleteEntryGroup (RPC) |
projects.locations.entryGroups.delete (REST)DeleteEntryGroup (RPC) |
projects.locations.entryGroups.list (REST)ListEntryGroups (RPC) |
projects.locations.entryGroups.list (REST)ListEntryGroups (RPC) |
Entries
The concept of entries, representing data assets, is consistent across both services:
Tag templates and aspect types
Aspect types are the successor to Data Catalog tag templates:
| Data Catalog API method | Dataplex API method |
|---|---|
projects.locations.tagTemplates.create (REST)CreateTagTemplate (RPC) |
projects.locations.aspectTypes.create (REST)CreateAspectType (RPC) |
projects.locations.tagTemplates.get (REST)GetTagTemplate (RPC) |
projects.locations.aspectTypes.get (REST)GetAspectType (RPC) |
projects.locations.tagTemplates.patch (REST)UpdateTagTemplate (RPC) |
projects.locations.aspectTypes.patch (REST)UpdateAspectType (RPC) |
projects.locations.tagTemplates.delete (REST)DeleteTagTemplate (RPC) |
projects.locations.aspectTypes.delete (REST)DeleteAspectType (RPC) |
catalog.search (REST) with type=tag_templateSearchCatalog (RPC) with type=tag_template |
projects.locations.aspectTypes.list (REST)ListAspectTypes (RPC) |
Tag template fields
Tag template fields correspond to the contents of the metadata_template field
in an aspect type. Use UpdateAspectType with the modified metadata_template
to create, update, rename, or delete fields:
| Data Catalog API method | Dataplex API method |
|---|---|
projects.locations.tagTemplates.fields.create (REST)CreateTagTemplateField (RPC) |
projects.locations.aspectTypes.patch (REST)UpdateAspectType (RPC) |
projects.locations.tagTemplates.fields.patch (REST)UpdateTagTemplateField (RPC) |
projects.locations.aspectTypes.patch (REST)UpdateAspectType (RPC) |
projects.locations.tagTemplates.fields.rename (REST)RenameTagTemplateField (RPC) |
projects.locations.aspectTypes.patch (REST)UpdateAspectType (RPC) |
projects.locations.tagTemplates.fields.delete (REST)DeleteTagTemplateField (RPC) |
projects.locations.aspectTypes.patch (REST)UpdateAspectType (RPC) |
Tag template field enum values
Modify enum values by updating the metadata_template field in the
corresponding aspect type:
| Data Catalog API method | Dataplex API method |
|---|---|
projects.locations.tagTemplates.fields.enumValues.rename (REST)RenameTagTemplateFieldEnumValue (RPC) |
projects.locations.aspectTypes.patch (REST)UpdateAspectType (RPC) |
Tags and aspects
Aspects are the successor to Data Catalog tags. Aspects are encapsulated
directly in their parent entries or entry links, and are managed using the
UpdateEntry method with update_mask:
| Data Catalog API method | Dataplex API method |
|---|---|
projects.locations.entryGroups.entries.tags.create (REST)CreateTag (RPC) |
projects.locations.entryGroups.entries.patch (REST)UpdateEntry (RPC) |
projects.locations.entryGroups.entries.tags.list (REST)ListTags (RPC) |
projects.locations.entryGroups.entries.get (REST)GetEntry (RPC)
Note: To filter aspects in the response, use the |
projects.locations.entryGroups.entries.tags.patch (REST)UpdateTag (RPC) |
projects.locations.entryGroups.entries.patch (REST)UpdateEntry (RPC) |
projects.locations.entryGroups.entries.tags.delete (REST)DeleteTag (RPC) |
projects.locations.entryGroups.entries.patch (REST)UpdateEntry (RPC) |
Policy tags and taxonomies
The APIs for policy tags and taxonomies aren't changing and don't require migration.
Features not supported in Knowledge Catalog
The following Data Catalog behaviors and features aren't supported or operate differently in Knowledge Catalog:
- Private aspect types: The concept of private aspects and private aspect types (the counterparts to private tags and private tag templates in Data Catalog) doesn't exist. All custom aspect types are governed by project and entry group Identity and Access Management permissions.
- Policy tag search: Searching for policy tags using the
policytagorpolicytagidpredicates isn't supported in catalog search. - Permissions transfer: When you import Data Catalog custom entry groups, custom entries, tag templates, and tags into Knowledge Catalog, their original permissions don't carry over. You must configure IAM permissions for the imported resources. For a detailed comparison of legacy and replacement permissions, see Map IAM permissions between Data Catalog and Knowledge Catalog.
- Sensitive Data Protection inspection results: Sending Sensitive Data Protection inspection results directly to Knowledge Catalog isn't supported. Instead, send inspection results to Data Catalog and transition the results to Knowledge Catalog.
- Cross-project type listing: Listing entry types, entry link types, and aspect types across projects in a single API call isn't supported; requests must be scoped to a single project.
- Administrator search: Administrator search (full recall) isn't supported. Instead, export metadata to Cloud Storage and query it using BigQuery.
What's next
Transition from Data Catalog
Step-by-step guide to migrate tag templates, custom entries, and workflows.
About metadata in Knowledge Catalog
Learn about the Knowledge Catalog flexible metamodel and Active Context Graph.
Dataplex REST API reference
Browse the REST API reference documentation for the Dataplex Catalog service.
Dataplex RPC API reference
Browse the gRPC API reference documentation for the Dataplex Catalog service.