使用 Knowledge Catalog 管理数据资产

Knowledge Catalog 会自动对 Bigtable 资源的元数据编目。此功能可帮助您搜索和管理 Bigtable 数据资源。

以下 Bigtable 资源的元数据会自动从 Bigtable 同步到 Knowledge Catalog:

  • 实例
  • 集群
  • 表,包括列族详细信息
  • 视图:

    • 已获授权的视图
    • 连续的物化视图
    • 逻辑视图

    视图没有全局目录条目。如需访问视图元数据,您必须查询分配给实例的区域。如需了解详情,请参阅本文档的访问视图元数据部分。

Knowledge Catalog 是一项全代管式元数据管理服务。 它可让您集中查看技术元数据和业务元数据,还为这些元数据提供了标记机制。如需详细了解 Knowledge Catalog 以及为什么要使用它,请参阅 Knowledge Catalog 概览。

将 Knowledge Catalog 与 Bigtable 搭配使用的优势

Knowledge Catalog 中有关数据的信息有助于支持分析、数据重复使用、应用开发和数据管理。

您可以按详细信息(例如资源名称)在 Knowledge Catalog 中搜索条目。例如,搜索实例名称来查找实例的条目,或搜索列族以查找表的条目。您还可以使用分面搜索,应用过滤条件来缩小搜索范围。如需了解详情,请参阅在 Knowledge Catalog 中搜索资源。

通过提取和编目 Bigtable 视图,您可以执行以下操作:

  • 在中央清单中查找精细数据资产,例如已获授权的视图、逻辑视图和持续物化视图。
  • 了解存在哪些视图以及谁有权访问这些视图,以便治理团队应用政策和访问权限控制。
  • 了解授权视图如何连接到表,以及逻辑和持续物化视图如何连接到实例,以便更好地了解上下文。

使用切面丰富元数据有助于您了解 Bigtable 表中的数据并对其进行编目。借助切面,您可以将自定义业务和技术元数据附加到已编入目录的条目,从而提高整个数据资产中数据的可发现性,并实现有针对性的搜索。如需了解详情,请参阅管理切面并丰富元数据。

Knowledge Catalog 使用入门

如需开始使用 Knowledge Catalog 管理 Bigtable 数据资源,请完成以下任务:

  1. 可选:如果您刚接触 Knowledge Catalog,请启用 Dataplex API。

  2. 向需要访问 Knowledge Catalog 中的 Bigtable 条目的主账号授予 IAM 角色。

  3. 了解如何搜索数据资产。

  4. 查看 Knowledge Catalog 搜索语法,了解如何查找元数据。

  5. 阅读有关使用切面管理元数据的概念。如需了解详情,请参阅 Knowledge Catalog 中的元数据简介。

在 Knowledge Catalog 中查看元数据

每种 Bigtable 视图类型在目录中都表示为不同的条目类型。Knowledge Catalog 会为每种类型存储特定的元数据(切面):

视图类型 元数据字段
授权视图 完整子集定义、防删除保护状态。基表 ID 是条目的资源路径和父级条目的一部分,而不是单独的切面字段。
逻辑视图 SQL 查询、架构、防删除保护状态。SQL 查询中引用了基表。
连续的具体化视图 SQL 查询、架构、防删除保护状态、存储空间详细信息。SQL 查询中引用了基表。在存储方面,sourceUri 字段指向视图资源本身,而不是基表。

搜索 Bigtable 元数据的方法

您可以使用 Knowledge Catalog 搜索已同步的 Bigtable 元数据。

除了限定谓语之外,您还可以使用以下元数据字段搜索 Bigtable 资源:

  • 实例

    • Bigtable 实例名称
    • Bigtable 实例 ID
    • 集群位置
    • 集群 ID
  • 表

    • 表 ID
    • 列族名称
    • Bigtable 实例名称
    • Bigtable 实例 ID

您可以按以下类别搜索视图:

  • 视图类型:
    • type=cloud-bigtable-authorized-view
    • type=cloud-bigtable-logical-view
    • type=cloud-bigtable-materialized-view
  • 统一视图别名:使用 VIEW 别名可同时查找所有类型的 Bigtable 视图。
  • 元数据详情:按查询文本、父级资源、子集定义详情或特定属性(例如防删除保护)进行搜索。
  • 区域:在 Google Cloud 控制台中,使用 location=LOCATION 或区域过滤条件搜索区域中的视图或任何其他资源。

在Google Cloud 控制台中查看全球 Bigtable 实例或表条目时,其条目列表标签页不包含区域视图。同样,当您查看区域视图条目时,其面包屑导航路径不会链接到其父实例或表。如需查找这些资源,请使用上述搜索类别直接搜索。

访问视图元数据

与 Bigtable 实例和表不同,视图没有全局目录条目。视图的元数据仅存储在 Knowledge Catalog (knowledgeCatalogRegion) 中分配给实例的区域中。

在 Knowledge Catalog 中搜索资源时,您可以使用区域过滤条件查找特定区域中的视图或任何其他资源。不过,如果您使用 Dataplex API 或客户端库在 Bigtable 视图中查找、检索或管理切面,则必须在请求网址的 location 参数中指定实例的 Knowledge Catalog 区域。如果您将位置指定为 global,该命令会返回 NOT_FOUND 错误。

以下部分介绍了如何访问实例所在区域中的视图元数据。

查找实例的 Knowledge Catalog 区域

如需查找 Bigtable 实例的 knowledgeCatalogRegion,请使用 gcloud bigtable instances describe 命令:

gcloud bigtable instances describe INSTANCE_ID

将 INSTANCE_ID 替换为实例的唯一标识符。

命令输出包含 knowledgeCatalogRegion 字段,如以下示例所示:

createTime: '2026-01-15T10:00:00.000000Z'
displayName: my-instance
edition: ENTERPRISE
knowledgeCatalogRegion: us-central1
name: projects/my-project/instances/my-instance
state: READY
type: PRODUCTION

在此示例中,此实例中视图的 Dataplex API 请求和区域过滤条件的位置为 us-central1。

检查视图的 Knowledge Catalog 条目

控制台

如需在 Knowledge Catalog 中检查视图的条目,请按以下步骤操作:

  1. 在 Google Cloud 控制台中,前往 Knowledge Catalog 搜索页面。

    转到搜索

  2. 在搜索字段中,输入 Bigtable 视图的名称或 ID,或者输入搜索查询,然后按 Enter。

    您可以使用以下谓词搜索视图:

    • 所有观看次数:VIEW
    • 已获授权的视图:type=cloud-bigtable-authorized-view
    • 逻辑视图:type=cloud-bigtable-logical-view
    • 连续的物化视图: type=cloud-bigtable-materialized-view
    • 按区域查看:例如 location=us-central1
  3. 如需缩小搜索范围,请点击过滤条件。

  4. 在搜索结果中,点击视图名称以打开条目详情页面。

    条目详情页面会显示所有条目属性,包括概览信息、系统切面(例如 SQL 查询、架构或子集定义)以及附加的自定义切面。

gcloud

如需在 Knowledge Catalog 中检查视图的条目,请使用 gcloud dataplex entries lookup 命令:

gcloud dataplex entries lookup "VIEW_RESOURCE_NAME" \
    --project="PROJECT_ID" \
    --location="LOCATION" \
    --entry-group="@bigtable" \
    --view="all"

替换以下内容:

  • VIEW_RESOURCE_NAME:视图的 Bigtable 资源路径(省略开头的 //)。根据视图类型构建资源路径:
    • 授权视图: bigtable.googleapis.com/projects/PROJECT_ID/instances/INSTANCE_ID/tables/TABLE_ID/authorizedViews/VIEW_ID
    • 逻辑视图: bigtable.googleapis.com/projects/PROJECT_ID/instances/INSTANCE_ID/logicalViews/VIEW_ID
    • 连续具体化视图: bigtable.googleapis.com/projects/PROJECT_ID/instances/INSTANCE_ID/materializedViews/VIEW_ID
  • PROJECT_ID:您的Google Cloud 项目的唯一标识符。
  • INSTANCE_ID:Bigtable 实例的唯一标识符。
  • TABLE_ID:对于授权视图,为包含该视图的基表的唯一标识符。
  • VIEW_ID:分配给视图的标识符。
  • LOCATION:Bigtable 实例的 Knowledge Catalog 区域(例如 us-central1)。

输出会返回所有条目属性,包括系统切面和附加的自定义切面。在输出中,parentEntry 字段包含父表或实例的区域条目路径。由于 Bigtable 仅在 global 位置存储表和实例条目,因此无法访问此区域父条目。如需查找父级表或实例条目,请将 global 指定为位置。

REST

如需使用 Dataplex API 以编程方式查找视图条目,请向 lookupEntry 方法发送经过身份验证的 HTTP GET 请求:

curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION:lookupEntry?entry=projects/PROJECT_ID/locations/LOCATION/entryGroups/@bigtable/entries/VIEW_RESOURCE_NAME&view=ALL"

替换以下内容:

  • VIEW_RESOURCE_NAME:视图的 Bigtable 资源路径(省略开头的 //)。根据视图类型构建资源路径:
    • 授权视图: bigtable.googleapis.com/projects/PROJECT_ID/instances/INSTANCE_ID/tables/TABLE_ID/authorizedViews/VIEW_ID
    • 逻辑视图: bigtable.googleapis.com/projects/PROJECT_ID/instances/INSTANCE_ID/logicalViews/VIEW_ID
    • 连续具体化视图: bigtable.googleapis.com/projects/PROJECT_ID/instances/INSTANCE_ID/materializedViews/VIEW_ID
  • PROJECT_ID:您的Google Cloud 项目的唯一标识符。
  • INSTANCE_ID:Bigtable 实例的唯一标识符。
  • TABLE_ID:对于授权视图,为包含该视图的基表的唯一标识符。
  • VIEW_ID:分配给视图的标识符。
  • LOCATION:Bigtable 实例的 Knowledge Catalog 区域(例如 us-central1)。

输出会返回所有条目属性,包括系统切面和附加的自定义切面。在输出中,parentEntry 字段包含父表或实例的区域条目路径。由于 Bigtable 仅在 global 位置存储表和实例条目,因此无法访问此区域父条目。如需查找父级表或实例条目,请将 global 指定为位置。

所需的角色

在 Knowledge Catalog 中查看、标记和搜索 Bigtable 资源需要不同的权限。通常,您应该向组织中的主账号授予完成任务所需的最低权限角色。

查看公开和非公开切面所需的权限

如需获得查看 Bigtable 资源的公开和非公开切面所需的权限,请让您的管理员授予您以下 IAM 角色:

这些预定义角色包含查看公开和非公开切面所需的权限。所需的确切权限如下:

  • bigtable.instances.get
  • bigtable.clusters.get
  • bigtable.tables.get
  • dataplex.aspectTypes.get

视图需要以下权限:

  • 已获授权的视图:bigtable.authorizedViews.get
  • 逻辑视图:bigtable.logicalViews.get
  • 连续物化视图:bigtable.materializedViews.get

搜索 Bigtable 资源所需的权限

如需获得在 Knowledge Catalog 中搜索 Bigtable 资源所需的权限,请让您的管理员授予您以下 IAM 角色:

这些预定义角色包含搜索 Bigtable 资源所需的权限。所需的确切权限如下:

  • bigtable.instances.get
  • bigtable.clusters.get
  • bigtable.tables.get

视图需要以下权限:

  • 已获授权的视图:bigtable.authorizedViews.get
  • 逻辑视图:bigtable.logicalViews.get
  • 连续物化视图:bigtable.materializedViews.get

搜索和查看 Bigtable 元数据所需的权限

如需搜索和查看 Bigtable 资源的元数据,您必须拥有包含以下权限的角色:

  • 实例和表:bigtable.instances.get、bigtable.clusters.get、bigtable.tables.get
  • 已获授权的视图:bigtable.authorizedViews.get
  • 逻辑视图:bigtable.logicalViews.get
  • 连续物化视图:bigtable.materializedViews.get

roles/bigtable.viewer 或 roles/bigtable.admin 等预定义角色通常包含这些权限。

将切面附加到 Bigtable 资源所需的权限

如需获得在 Knowledge Catalog 中将切面附加到 Bigtable 资源所需的权限,请让您的管理员授予您以下 IAM 角色:

这些预定义角色包含添加公开和非公开切面所需的权限。所需的确切权限如下:

  • bigtable.instances.update
  • bigtable.clusters.update
  • bigtable.tables.update
  • dataplex.aspectTypes.use
  • dataplex.entries.update

视图需要以下权限:

  • 已获授权的视图:bigtable.authorizedViews.update
  • 逻辑视图:bigtable.logicalViews.update
  • 连续物化视图:bigtable.materializedViews.update

可选:创建自定义角色

您可以创建自定义角色,并向需要跨项目或组织完整访问 Knowledge Catalog 中所有 Bigtable 元数据的用户授予这些角色。然后,您可以将任何需要访问权限的用户或服务账号指定为该自定义角色的主账号。如需详细了解自定义角色,请参阅角色和权限。

为角色选择一个有意义的名称(例如 Bigtable Dataplex Editor),然后仅将需要相应权限的主账号分配给角色。如需了解设置说明,请参阅创建和管理自定义角色。

向自定义角色授予以下权限:

  • bigtable.instances.get
  • bigtable.instances.update
  • bigtable.clusters.get
  • bigtable.clusters.update
  • bigtable.tables.get
  • bigtable.tables.update
  • bigtable.authorizedViews.get
  • bigtable.authorizedViews.update
  • bigtable.logicalViews.get
  • bigtable.logicalViews.update
  • bigtable.materializedViews.get
  • bigtable.materializedViews.update
  • dataplex.aspectTypes.get
  • dataplex.aspectTypes.use

如需了解详情,请参阅 Knowledge Catalog IAM 权限。 如需详细了解 Bigtable 权限,请参阅权限。

限制

以下部分列出了在使用 Knowledge Catalog 管理 Bigtable 元数据之前必须考虑的限制。

位置限制条件

如果您的组织强制执行位置限制条件,则 Bigtable 资源的元数据条目可能不会同步到 Knowledge Catalog。在强制执行位置限制条件之前创建的所有条目都会由 Knowledge Catalog 保留。

如需让 Knowledge Catalog 加载资源,请确保您的位置政策允许以下操作:

  • 实例和表的多区域 global。
  • 与实例的视图 knowledgeCatalogRegion 匹配的特定区域。

列族名称异常

如果请求中的列族名称包含英文句点 (.),Dataplex API 会拒绝该请求。例如,如果列族名称为 personal.info。

后续步骤