将 Data Catalog API 方法映射到 Knowledge Catalog

Data Catalog 已弃用。如果您要将程序化工作流、脚本、客户端库或 Terraform 配置从 Data Catalog 迁移到 Knowledge Catalog,则必须更新代码以使用 Dataplex API。

本文档全面介绍了 Data Catalog 资源、功能和 API 方法与 Dataplex API 中相应资源、功能和 API 方法之间的映射关系。

如需了解分步迁移流程,请参阅从 Data Catalog 转换到 Knowledge Catalog。 如需查看 API 参考文档,请参阅 Dataplex API REST 文档Dataplex API RPC 文档

资源映射

下表介绍了 Data Catalog 中的资源如何对应于 Knowledge Catalog 中的资源:

Data Catalog 资源 Knowledge Catalog 资源 说明
公开代码模板 切面类型 (global) 标记模板是 Data Catalog 中的区域级资源,可在不同区域中使用。它们对应于 Knowledge Catalog 中的 global 切面类型。
公开标记 可选切面 公开标记对应于附加到 Knowledge Catalog 中的条目或列的可选切面。
条目组 条目组 在上述两项服务中,条目组都充当组织和安全容器。对于 Google Cloud 来源,系统条目组(例如 @bigquery)是按项目自动建立的。
自定义条目 自定义条目(包含必需切面) 标准自定义条目属性建模为由自定义条目的 EntryType 定义的必需方面。
系统 (Google Cloud) 条目 系统条目(包含必需切面) 描述内置实体(例如 BigQuery 表的 Schema)的元数据会捕获在系统定义的切面类型的必需切面中。
业务术语库 业务术语库 业务术语分类,可在整个企业内标准化业务上下文。

特性比较

下表比较了 Knowledge Catalog 和 Data Catalog 的元数据管理功能:

功能 Knowledge Catalog Data Catalog
支持的 Google Cloud 来源 支持的 Google Cloud 来源中所述的所有来源。 Data Catalog 文档中描述的所有来源。
自定义来源注入

以受控结构(由条目类型定义)注入到自定义条目中。

Data Catalog 自定义条目和条目组在 Knowledge Catalog 中以 generic 条目类型的形式提供。

注入到通用自定义条目中。
元数据丰富化

通过业务术语库、切面和切面类型来捕获。

支持入口链接。您可以将切面直接附加到条目链接。

通过业务术语库、标记和标记模板来捕获。

不支持条目链接。

条目链接 支持。借助 synonymdefinitionrelatedschema-join 等内置类型,您可以关联条目和列。 不可用。
元数据更改 Feed 以近乎实时的方式将元数据更改通知流式传输到 Pub/Sub。 不可用。
搜索 搜索范围包括同一组织和 VPC Service Controls 边界内的所有受支持的 Google Cloud 来源、自定义条目、方面和迁移的 Data Catalog 内容。 搜索范围包括 Data Catalog 中创建的支持的来源、自定义条目和标记。
数据沿袭 使用 Dataplex API 检索资产节点的条目详细信息。 在 Google Cloud 控制台中显示附加的切面。 使用 Data Catalog API 检索条目详细信息。
业务术语库 可让您构建业务术语分类,并将这些术语与数据资产(条目)和列相关联。 可让您将术语与列相关联。

将 Data Catalog API 方法映射到 Knowledge Catalog

下表提供了 Data Catalog API (google.cloud.datacatalog.v1) 与 Dataplex API (google.cloud.dataplex.v1.CatalogService) 之间的方法级映射。

条目组

条目组的概念在两种服务中是一致的:

Data Catalog API 方法 Dataplex API 方法
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)

条目数

表示数据资产的条目概念在两个服务中是一致的:

Data Catalog API 方法 Dataplex API 方法
projects.locations.entryGroups.entries.create (REST)
CreateEntry (RPC)
projects.locations.entryGroups.entries.create (REST)
CreateEntry (RPC)
projects.locations.entryGroups.entries.get (REST)
GetEntry (RPC)
projects.locations.entryGroups.entries.get (REST)
GetEntry (RPC)
projects.locations.entryGroups.entries.patch (REST)
UpdateEntry (RPC)

projects.locations.entryGroups.entries.patch (REST)
UpdateEntry (RPC)

注意:您还可以使用 projects.locations.modifyEntry (REST) 和 ModifyEntry (RPC) 方法,通过源系统权限而非目录权限来更新系统条目。

projects.locations.entryGroups.entries.delete (REST)
DeleteEntry (RPC)
projects.locations.entryGroups.entries.delete (REST)
DeleteEntry (RPC)
projects.locations.entryGroups.entries.list (REST)
ListEntries (RPC)
projects.locations.entryGroups.entries.list (REST)
ListEntries (RPC)
entries.lookup (REST)
LookupEntry (RPC)
projects.locations.lookupEntry (REST)
LookupEntry (RPC)

注意:如需使用 lookupEntry,您必须提供条目名称。如需将 BigQuery SQL 名称、完全限定名称或关联的资源名称转换为条目名称,请先调用 projects.locations.searchEntries (REST) 或 SearchEntries (RPC)。

projects.locations.entryGroups.entries.modifyEntryContacts (REST)
ModifyEntryContacts (RPC)
projects.locations.entryGroups.entries.patch (REST)
UpdateEntry (RPC)

注意:使用 update_mask 仅修改 contacts 方面。

projects.locations.entryGroups.entries.modifyEntryOverview (REST)
ModifyEntryOverview (RPC)
projects.locations.entryGroups.entries.patch (REST)
UpdateEntry (RPC)

注意:使用 update_mask 仅修改 overview 方面。

projects.locations.entryGroups.entries.tags.reconcile (REST)
ReconcileTags (RPC)
projects.locations.metadataJobs.create (REST)
CreateMetadataJob (RPC)、
projects.locations.entryGroups.entries.patch (REST)
UpdateEntry (RPC)

注意:使用 CreateMetadataJob 和导入服务类型可批量导入多个条目的元数据内容。如需更新单个条目的所有方面,请使用 UpdateEntry

catalog.search (REST)
SearchCatalog (RPC)
projects.locations.searchEntries (REST)
SearchEntries (RPC)

注意searchEntries 会在主叫方的组织内进行搜索。跨组织搜索必须针对每个组织单独发出。

标记模板和切面类型

切面类型是 Data Catalog 标记模板的替代方案:

Data Catalog API 方法 Dataplex API 方法
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) 与 type=tag_template
SearchCatalog (RPC) 与 type=tag_template
projects.locations.aspectTypes.list (REST)
ListAspectTypes (RPC)

代码模板字段

标记模板字段对应于切面类型中 metadata_template 字段的内容。使用 UpdateAspectType 和修改后的 metadata_template 创建、更新、重命名或删除字段:

Data Catalog API 方法 Dataplex API 方法
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)

代码模板字段枚举值

通过更新相应方面类型中的 metadata_template 字段来修改枚举值:

Data Catalog API 方法 Dataplex API 方法
projects.locations.tagTemplates.fields.enumValues.rename (REST)
RenameTagTemplateFieldEnumValue (RPC)
projects.locations.aspectTypes.patch (REST)
UpdateAspectType (RPC)

标记和切面

切面是 Data Catalog 标记的替代项。切面直接封装在其父条目或条目链接中,并使用 UpdateEntry 方法通过 update_mask 进行管理:

Data Catalog API 方法 Dataplex API 方法
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)

注意:如需过滤响应中的方面,请使用 viewsaspect_typespaths 参数。

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)

政策标记和分类

政策标记和分类的 API 不会发生变化,因此无需迁移。它们会继续在 datacatalog.googleapis.com 端点(政策跟踪代码管理器服务)下提供。在采用 BigQuery 列级访问权限控制或动态数据遮盖的项目中,Data Catalog API (datacatalog.googleapis.com) 必须保持启用状态。

Knowledge Catalog 中不支持的功能

以下 Data Catalog 行为和功能在 Knowledge Catalog 中不受支持或运行方式不同:

  • 非公开切面类型:不存在非公开切面和非公开切面类型(与 Data Catalog 中的非公开标记和非公开标记模板相对应)。所有自定义方面类型均受项目和条目组 Identity and Access Management 权限的约束。
  • 政策标记搜索:目录搜索不支持使用 policytagpolicytagid 谓词搜索政策标记。
  • 权限转移:将 Data Catalog 自定义条目组、自定义条目、标记模板和标记导入 Knowledge Catalog 时,其原始权限不会转移。您必须为导入的资源配置 IAM 权限。如需详细比较旧版权限和替代权限,请参阅 Data Catalog 与 Knowledge Catalog 之间的 IAM 权限映射
  • Sensitive Data Protection 检查结果:不支持将 Sensitive Data Protection 检查结果直接发送到 Knowledge Catalog。请改为将检查结果发送到 Data Catalog,然后将结果转换到 Knowledge Catalog。
  • 跨项目类型列出:不支持在单个 API 调用中列出多个项目中的条目类型、条目链接类型和切面类型;请求必须限定为单个项目。
  • 管理员搜索:不支持管理员搜索(完全召回)。不过,您可以将元数据导出到 Cloud Storage,然后使用 BigQuery 查询这些元数据。

后续步骤

指南

有关迁移标记模板、自定义条目和工作流的分步指南。

概念

了解 Knowledge Catalog 灵活的元模型和有效情境图。

参考文档

浏览 Dataplex Catalog 服务的 REST API 参考文档。

参考文档

浏览 Dataplex Catalog 服务的 gRPC API 参考文档。