本文档介绍了如何使用 Dataplex Universal Catalog 中的搜索功能来搜索 BigQuery 数据集、Cloud SQL 实例等资源。
如需详细了解 Dataplex Universal Catalog 中支持的 Google Cloud 资产,请参阅支持的 Google Cloud 来源。
搜索范围
Dataplex Universal Catalog 中的搜索结果会遵循您对源系统中相应资源所具有的权限。
例如,如果您拥有某个对象的 BigQuery 元数据读取权限,则该对象会显示在 Dataplex Universal 搜索结果中。如果您有权访问 BigQuery 表,但无权访问该表所属的数据集,则表仍会按预期显示在 Dataplex Universal Catalog 搜索中。
搜索结果仅包含与执行搜索的项目属于同一组织的资源。
搜索结果仅包含与执行搜索的项目属于同一 VPC-SC 边界的资源。使用Google Cloud 控制台时,这是在控制台中选择的项目。
如需将搜索结果范围扩大到项目 VPC Service Controls 边界内的资源之外,请使用 VPC Service Controls 入站和出站规则。这些规则有助于在组织中以不公开方式高效地交换数据。您可以使用Google Cloud 控制台或通过 JSON 或 YAML 文件来配置入站和出站规则。请参阅以下 YAML 示例并查阅 VPC Service Controls 文档,以便根据您的具体要求调整规则。
egressPolicies:
- egressFrom:
identityType: ANY_USER_ACCOUNT
egressTo:
# Specify which resources should be present in the search results. In this example,
# BigQuery.
operations:
- methodSelectors:
- method: '*'
serviceName: bigquery.googleapis.com
# Specify project ids under which the search is performed.
resources:
- projects/SEARCH_PROJECT_ID
ingressPolicies:
- ingressFrom:
identityType: ANY_USER_ACCOUNT
sources:
- accessLevel: '*'
ingressTo:
# Specify which resources should be present in the search results. In this example,
# BigQuery.
operations:
- methodSelectors:
- method: '*'
serviceName: bigquery.googleapis.com
# Specify project ids to expose in search results.
resources:
- projects/INGRESS_PROJECT_ID
如需详细了解您需要使用 Dataplex Universal Catalog 搜索的 Identity and Access Management 角色,请参阅 Dataplex Universal Catalog IAM 角色。
使用 VPC Service Controls 按环境隔离搜索结果
如需在开发、测试和生产等环境之间隔离 Dataplex Universal Catalog 搜索结果,请为每个环境配置单独的 VPC Service Controls 边界。将包含数据资产的项目和用于执行搜索的项目都分配到相应环境的边界。从特定边界内的项目执行的搜索将仅返回位于同一边界内的资产的结果。
搜索中的召回限制
Dataplex Universal Catalog 搜索查询并不能保证完全召回。系统可能不会返回与您的查询匹配的结果,即使在后续的结果页面中也是如此。此外,如果您重复搜索查询,返回(和未返回)的结果可能会有所不同。
如需查询所有 Dataplex Universal Catalog 元数据,您可以将元数据导出到 Cloud Storage,然后从 BigQuery 中查询这些元数据。如需了解详情,请参阅导出元数据。
过滤条件
借助过滤条件,您可以缩小搜索结果的范围。所有过滤条件分组为以下各个部分:
- 系统,例如 BigQuery、Cloud SQL 等。Dataplex Universal Catalog 系统包含自定义条目。
- 切面(标记),列出您可以使用的所有切面。
- 项目,列出您可以使用的所有项目。
- 类型别名,描述数据库、数据集、模型、表、视图、服务和自定义类型等资源类型。
- 数据集,来自 BigQuery。
您可以组合使用多个部分中的过滤条件,以查找与所选每个部分中至少一个条件相匹配的资产。系统会使用 OR
逻辑运算符评估在单个部分中选择的多个过滤条件。
例如,请考虑下图中的过滤条件组合(点击图片可放大)。已选择系统 BigQuery
、类型别名 table
和 view
、切面 My aspect
type 1
和 My aspect type 2
、项目 my-test-project
和数据集 test_bq_dataset
这些搜索过滤条件。
搜索会查找以下资产:
test_bq_dataset
中具有My aspect type 1
切面的 BigQuery 表test_bq_dataset
中具有My aspect type 2
切面的 BigQuery 表test_bq_dataset
中具有My aspect type 1
切面的 BigQuery 视图test_bq_dataset
中具有My aspect type 2
切面的 BigQuery 视图
按切面值过滤
借助切面过滤条件,您可以查询使用特定模板标记的资产。您可以使用自定义菜单进一步优化结果,并按特定的切面值进行过滤。切面值过滤条件取决于相应切面字段的数据类型。例如,对于 datetime
和 number
字段,您可以指定特定日期或日期范围。
过滤条件可见性
系统、类型别名、项目和数据集过滤条件会根据搜索字段中的当前查询显示。
准备工作
在搜索资源之前,请确保您拥有所需的角色并启用了 API。
所需的角色
本部分介绍了搜索资源和访问搜索结果所需的角色和权限。
如需详细了解如何授予角色,请参阅管理访问权限。
搜索条目所需的角色
如需搜索条目,您需要对用于搜索的项目至少拥有以下一个 IAM 角色:Dataplex Catalog Admin、Dataplex Catalog Editor 或 Dataplex Catalog Viewer。系统会独立于所选项目检查搜索结果的权限。
访问搜索结果所需的角色
Dataplex Universal Catalog 中的搜索结果的范围取决于您的角色。如需在 Dataplex Universal Catalog 中搜索资产,您必须拥有访问来源系统中相应资源的权限。如需了解详情,请参阅本文档中的搜索范围部分。
例如,如需搜索 BigQuery 数据集、表、视图和模型,您需要拥有这些条目的相应权限。如需了解详情,请参阅 BigQuery 权限。
以下列表介绍了所需的最低权限:
- 如需搜索表,您需要拥有该表的
bigquery.tables.get
权限。 - 如需搜索数据集,您需要拥有该数据集的
bigquery.datasets.get
权限。 - 如需搜索数据集或表的元数据,您需要拥有 BigQuery Metadata Viewer 角色 (
roles/bigquery.metadataViewer
)。
再举一例,如需搜索 Cloud SQL 实例、数据库、架构、表和视图,您需要拥有这些条目的相应权限。如需了解详情,请参阅 Cloud SQL 角色和权限。
如需搜索自定义条目,您需要拥有 Dataplex Catalog Viewer 角色 (roles/dataplex.catalogViewer
)。
启用 API
Enable the Dataplex API.
搜索资源
控制台
如需搜索资源,请按照以下步骤操作:
在 Google Cloud 控制台中,前往 Dataplex Universal Catalog 搜索页面。
对于选择搜索平台,选择 Dataplex Catalog 作为搜索模式。
选择 Dataplex Catalog 可让您在 Dataplex Universal Catalog 元数据存储中进行搜索。如果您是现有 Data Catalog 用户,选择 Data Catalog 可让您在 Data Catalog 仓库中进行搜索。
在搜索字段中输入查询,或使用过滤条件面板来优化搜索参数。
您可以手动添加以下过滤条件:
- 添加项目过滤条件:在项目中,点击添加项目。搜索特定项目,选择该项目,然后点击打开。
- 添加切面类型过滤条件:在切面中,点击添加更多切面类型菜单。搜索特定模板,选择该模板,然后点击确定。
可选:除了您可以使用的资产之外,您还可以通过选择包括公共数据集来搜索在 Google Cloud 中公开提供的资源。
请按照以下提示构建搜索查询:
- 如果搜索表达式包含空格,请将其用英文引号括起来。例如,
"search terms"
。 您可以在关键字前面加上
NOT
,以匹配keyword:term
过滤条件的逻辑求反。您还可以使用AND
和OR
布尔运算符来组合搜索表达式。AND
、OR
和NOT
运算符不区分大小写。例如,
NOT column:term
会列出除与指定字词匹配的列之外的所有列。如需查看可在 Dataplex Universal Catalog 搜索表达式中使用的关键字和其他字词的列表,请参阅搜索语法。
gcloud
如需搜索资源,请使用 gcloud dataplex entries search
命令。
REST
如需搜索资源,请使用 searchEntries
方法。
查看条目的详细信息
控制台
使用 Dataplex Universal Catalog 搜索功能查看条目的详细信息。
gcloud
如需查看条目的详细信息,请使用 gcloud dataplex entries lookup
命令。
REST
如需查看条目的详细信息,请使用 lookupEntry
方法。
后续步骤
- 了解 Dataplex Universal Catalog 的搜索语法。
- 详细了解 Dataplex Universal Catalog 中的元数据管理。
- 了解如何使用切面通过元数据丰富条目。
- 了解如何管理条目和注入自定义来源。