使用 Data Catalog 管理资源

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

Data Catalog Google Workspace 是一项可伸缩的全代管式式元数据管理服务, 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. 登录您的 Google Cloud 账号。如果您是 Google Cloud 新手,请创建一个账号来评估我们的产品在实际场景中的表现。新客户还可获享 $300 赠金,用于运行、测试和部署工作负载。
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. 确保您的 Google Cloud 项目已启用结算功能

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

    Go to project selector

  5. 确保您的 Google Cloud 项目已启用结算功能

  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. 如需查看 Data Catalog 中的所有 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)。FQN 占两倍 表单:

    对于非区域化资源: {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 角色和权限

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

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

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

后续步骤