本页面介绍了如何搜索和管理 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 的数据。
准备工作
- 登录您的 Google Cloud 账号。如果您是 Google Cloud 新手,请创建一个账号来评估我们的产品在实际场景中的表现。新客户还可获享 $300 赠金,用于运行、测试和部署工作负载。
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
为项目启用 Data Catalog API。
-
请检查权限。
您需要拥有特定 Identity and Access Management (IAM) 角色和权限才能 您可以搜索标记并将其附加到 Spanner 资产。如需了解详情,请参阅 Data Catalog 所需的 IAM 角色和权限。
创建标记模板
标记模板是可用于快速创建新标记的可重复使用结构。模板可帮助您避免重复性工作和未完成的标记。创建尽可能多的 标记模板。
如需了解详情,请参阅代码和代码 模板。
将标记附加到 Spanner 资产
通过将标记附加到 Spanner 资产,您可以执行以下操作:
- 将资产元数据添加到资产。
- 按业务元数据和其他自定义元数据搜索资产。
如需了解详情,请参阅代码和代码 模板。
搜索 Spanner 资产
使用 Google Cloud 控制台中的 Dataplex 搜索页面 来搜索 Spanner 资源。
转到 Dataplex 搜索页面。
在过滤条件面板的系统下,选择 Spanner。
Dataplex 显示所有已知的 Spanner 资产。
可选:执行以下任一操作来缩小搜索范围:
在搜索页面上使用分面搜索。选中数据类型、项目和标记下的复选框。
在搜索字段中,在
system=cloud_spanner
后附加搜索参数。用空格分隔参数。
例如,要仅查看数据库,请在搜索框中输入以下文本 字段,然后按
Enter
。system=cloud_spanner type=database
您还可以将括号以及逻辑运算符
and
和or
用于 复杂表达式。如需详细了解您可以使用的表达式 在搜索字段中使用,请参阅 Data Catalog 搜索 语法。在结果表中,点击资产的名称以查看该资产的元数据。
可选:您可以执行以下任一操作:
- 点击添加概览,为素材资源添加富文本说明。
- 点击添加标记以向资源添加标记。
- 对于表,点击 SCHEMA 标签页以查看表中的列。
- 对于实例 (SERVICE),如需查看成员数据库,请点击 条目列表标签页,然后点击在搜索结果中查看儿童条目。(如果 条目列表标签页未显示,则表示实例没有数据库。)
示例工作流 - 从实例展开细目至列
在此示例工作流中,首先要搜索 Spanner 然后查看成员数据库和该数据库中的表 然后查看表格中的列。
转到 Dataplex 搜索页面。
在过滤条件面板的系统下,选择 Spanner。
如需查看 Data Catalog 中的所有 Spanner 实例,请执行以下操作: 选中数据类型下的服务复选框,或者输入 搜索字段中的文本,然后按
Enter
。system=cloud_spanner type=service
选择一个实例名称。
在 Spanner 服务详情页面上,点击条目 列表标签页,然后点击查看搜索结果中的儿童内容。
Dataplex 显示实例中的数据库。
在 Spanner 数据库详情页面上,点击 ENTRY 列表标签页,然后点击查看搜索结果中的儿童内容。
Dataplex 会显示数据库中的表。
选择表名称,然后在 Spanner 表详情页面上点击 SCHEMA 查看表格中的列。
可选:如需向列添加标签,请点击列下方的加号 代码。
导出和导入代码
迁移 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
如需了解详情,请参阅预定义角色。