将 Data Catalog API 方法映射到 Knowledge Catalog

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

本文档全面介绍了 Data Catalog 资源、功能和 API 方法与 Dataplex 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)是按项目自动建立的。
自定义条目 自定义条目(包含必需切面) 标准自定义条目属性被建模为由自定义条目's EntryType 定义的必需切面 。
系统 (Google Cloud) 条目 系统条目(包含必需切面) 描述内置实体(例如 Schema 的 BigQuery 表)的元数据会捕获在 系统定义的切面类型的必需切面中。
业务术语库 业务术语库 业务术语分类,用于在整个企业内标准化业务上下文。

特性比较

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

功能 Knowledge Catalog Data Catalog
支持的 Google Cloud 来源 支持的来源中所述的所有来源 Supported Google Cloud sources 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) with type=tag_template
SearchCatalog (RPC) with 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 标记的后继者。切面直接封装在其父条目或条目链接中,并使用带有 update_maskUpdateEntry 方法进行管理:

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 不会更改,也不需要迁移。

Knowledge Catalog 中不支持的功能

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 灵活的元模型和 Active Context Graph。

参考文档

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

参考文档

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