本页面介绍了如何搜索和管理 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 的数据。
准备工作
- 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.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your 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。
如需在数据目录中查看所有 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)。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
如需了解详情,请参阅预定义角色。