使用 Data Catalog 管理资源

本页面介绍了如何搜索和管理 Spanner 使用 Data Catalog 创建资源

Data Catalog 是 Dataplex 中的全代管式可扩缩元数据管理服务。它会自动对以下相关元数据进行编目 Spanner 实例、数据库、表、列和视图:

  • 名称和完全限定名称
  • 位置(区域)
  • 创建日期和上次修改日期
  • 架构(用于表和视图)
  • 说明

Spanner 元数据会定期自动同步到 Data Catalog 通常每隔几个小时发送一次。您可以使用 Data Catalog 发现和了解您的 Spanner 元数据。使用 Data Catalog 可辅助完成以下活动:

  • 分析,包括依赖关系和针对应用场景的适用性
  • 变更管理
  • 数据移动(流水线)
  • 架构演变

借助 Data Catalog,您可以通过将标记附加到 Spanner 元数据条目来挑选元数据。每个代码可以有多个元数据字段,并且可以基于预定义或自定义代码模板。

例如,您可以将以下标记附加到包含 社会保障号,即个人身份信息 (PII):

pii:true
pii_type:SSN

移动使用标记的实例时,系统不会自动 已移动到目标实例。您需要先从源实例导出代码,然后再移动实例,并将代码导入目标实例。如需了解详情,请参阅导出和导入代码

如需详细了解 Data Catalog,请参阅什么是 Data Catalog Data Catalog 的数据。

准备工作

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  5. Make sure that billing is enabled for your Google Cloud project.

  6. 为项目启用 Data Catalog API。

    启用 Data Catalog API

  7. 请检查权限。

    您需要特定的 Identity and Access Management (IAM) 角色和权限才能搜索标记并将其附加到 Spanner 资产。如需了解详情,请参阅 Data Catalog 所需的 IAM 角色和权限

创建标记模板

标记模板是可用于快速创建新标记的可重复使用结构。模板可帮助您避免重复性工作和未完成的标记。创建尽可能多的 标记模板。

如需了解详情,请参阅标记和标记模板

将标记附加到 Spanner 资产

通过将标记附加到 Spanner 资产,您可以执行以下操作:

  • 将资产元数据添加到资产。
  • 按业务元数据和其他自定义元数据搜索资产。

如需了解详情,请参阅标记和标记模板

搜索 Spanner 资产

使用 Google Cloud 控制台中的 Dataplex 搜索页面搜索 Spanner 资产。

  1. 转到 Dataplex 搜索页面。

    进入 Dataplex

  2. 过滤条件面板系统下,选择 Spanner

    Dataplex 会显示所有已知的 Spanner 资产。

  3. 可选:执行以下任一操作来缩小搜索范围:

    • 搜索页面上使用分面搜索。选中数据类型项目标记下的复选框。

    • 在搜索字段中,在 system=cloud_spanner 后附加搜索参数。用空格分隔参数。

    例如,如需仅查看数据库,请在搜索字段中输入以下文本,然后按 Enter

     system=cloud_spanner type=database
    

    您还可以使用复杂的括号和逻辑运算符 andor 来表示复杂表达式。如需详细了解您可以使用的表达式 在搜索字段中使用,请参阅 Data Catalog 搜索 语法

  4. 在结果表中,点击资产的名称以查看该资产的元数据。

  5. 可选:您可以执行以下任一操作:

    • 点击添加概览,为素材资源添加富文本说明。
    • 点击添加标记以向资源添加标记。
    • 对于表,请点击 SCHEMA 标签页以查看表列。
    • 对于实例 (SERVICE),如需查看成员数据库,请点击条目列表标签页,然后点击查看搜索结果中的子条目。(如果 条目列表标签页未显示,则表示实例没有数据库。)

示例工作流 - 从实例展开细目至列

在此示例工作流中,您首先搜索 Spanner 实例,然后查看成员数据库,然后查看该数据库中的表,最后查看表中的列。

  1. 转到 Dataplex 搜索页面。

    进入 Dataplex

  2. 过滤条件面板系统下,选择 Spanner

  3. 如需在数据目录中查看所有 Spanner 实例,请选中数据类型下的服务复选框,或在搜索字段中输入以下文本并按 Enter

    system=cloud_spanner type=service
    
  4. 选择一个实例名称。

  5. Spanner 服务详情页面上,点击条目列表标签页,然后点击查看搜索结果中的子条目

    Dataplex 会显示实例中的数据库。

  6. Spanner 数据库详情页面上,点击 ENTRY 列表标签页,然后点击查看搜索结果中的儿童内容

    Dataplex 会显示数据库中的表。

  7. 选择表名称,然后在 Spanner 表详情页面上点击 SCHEMA 查看表格中的列。

  8. 可选:如需向列添加标签,请点击列下方的加号 代码

导出和导入代码

当您迁移 Spanner 实例时,迁移过程会删除您在 Data Catalog 中创建的实例标记。要保留代码,您需要执行以下操作:

  • 查询与实例关联的标记。
  • 复制标签的详细信息。
  • 在已移动的实例上创建标记。

Spanner 每 6 小时同步一次数据。对元数据所做的更改 Spanner 资源,例如实例、数据库、表、视图或 列可能需要大约 6 小时才能传播到 Data Catalog。

从源实例配置中导出代码

如需列出实例(条目或条目组)的标记,请使用 Google Cloud CLI gcloud data-catalog tags list 命令:

curl \
'https://datacatalog.googleapis.com/v1/projects/PROJECT/locations/LOCATION/entryGroups/ENTRY_GROUP/tags?key=API_KEY' \
  --header 'Authorization: Bearer ACCESS_TOKEN' \
  --header 'Accept: application/json' \
  --compressed

替换以下内容:

  • PROJECT:包含标记的项目。
  • LOCATION:标记的位置。
  • API_KEY:用于访问 API 的唯一字符串。
  • ACCESS_TOKEN:您的应用用于 进行身份验证

将代码导入目标配置

在完成此过程之前,请执行以下操作:

如需复制标记,请使用 gcloud data-catalog tags create 命令在移动的实例上创建标记,如下所示:

curl --request POST \
'https://datacatalog.googleapis.com/v1/entries:lookup?fullyQualifiedName=FQN&location=LOCATION&project=PROJECT&key=API_KEY' \
  --header 'Authorization: Bearer ACCESS_TOKEN' \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --data '{"column":"myColumnName","name":"myTagName","template":"myTemplateName","fields":{"myDoubleField":{"doubleValue":0}}}' \
  --compressed

替换以下内容:

  • FQN:资源的完全限定名称 (FQN)。FQDN 有两种形式:

    对于非区域性资源: {SYSTEM}:{PROJECT}.{PATH_TO_RESOURCE_SEPARATED_WITH_DOTS}

    对于区域化资源: {SYSTEM}:{PROJECT}.{LOCATION_ID}.{PATH_TO_RESOURCE_SEPARATED_WITH_DOTS}

    DPMS 表示例:

    dataproc_metastore:{PROJECT_ID}.{LOCATION_ID}.{INSTANCE_ID}.{DATABASE_ID}.{TABLE_ID}

  • LOCATION:执行查找的位置。

  • PROJECT:执行查找的项目。

  • API_KEY:可让您访问 API 的唯一字符串。

  • ACCESS_TOKEN:您的应用用于对服务进行身份验证的访问令牌。

Data Catalog 所需的 IAM 角色和权限

下表显示了执行各种 Data Catalog 操作所需的 IAM 角色和权限。

Data Catalog 操作 Spanner 资源 所需的角色或权限
创建标记模板 roles/datacatalog.tagTemplateCreator
搜索 Spanner 资源 实例 spanner.instances.get
数据库 spanner.databases.get
桌子 spanner.databases.get
视图 spanner.databases.get
查看公开标记 实例 spanner.instances.get
数据库 spanner.databases.get
桌子 spanner.databases.get
视图 spanner.databases.get
查看不公开标记 实例 datacatalog.tagTemplates.getTag + spanner.instances.get
数据库 datacatalog.tagTemplates.getTag + spanner.databases.get
datacatalog.tagTemplates.getTag + spanner.databases.get
视图 datacatalog.tagTemplates.getTag + spanner.databases.get
使用标记模板将标记附加到 Spanner 资源 实例 datacatalog.tagTemplates.use + spanner.instances.updateTag
数据库 datacatalog.tagTemplates.use + spanner.databases.updateTag
datacatalog.tagTemplates.use + spanner.databases.updateTag
观看次数 datacatalog.tagTemplates.use + spanner.databases.updateTag

spanner.instances.UpdateTag 权限包含在以下角色中:

  • roles/spanner.admin

以下角色拥有 spanner.databases.UpdateTag 权限:

  • roles/spanner.admin
  • roles/spanner.databaseAdmin
  • roles/spanner.databaseUser

如需了解详情,请参阅预定义角色

后续步骤