本文档介绍了 Data Catalog 搜索查询的语法。在阅读本文档之前,请务必先了解 Data Catalog 的相关概念,例如数据条目、标记和标记模板以及其他类型的元数据。请参阅什么是 Data Catalog?
如需在 Google Cloud 控制台中启动 Data Catalog 搜索查询,请前往 Data Catalog 的搜索页面,然后选择 Data Catalog 作为搜索模式。
轻松搜索
形式最简单的 Data Catalog 搜索查询由单个谓词组成。这些谓词可以匹配多个元数据:
- 数据资源的名称、显示名或说明
- 数据资源的确切类型
- 数据资源架构中的列名称(或嵌套列名称)的子字符串
- 项目 ID 的子字符串
- 公开标记的值、公开标记模板的名称,或附加到数据条目的公开标记模板中的字段名称。
- (预览版)数据管家的电子邮件地址或名称的字符串
- (预览版)概览说明中的字符串
简单搜索不支持 datetime
类型的标记模板字段。
例如,谓词 foo
与以下实体匹配:
- 名为“
foo.bar
”的数据资源 - 名称为
Foo Bar
的数据资源 - 使用
This is the foo script.
说明的数据资源 - 使用确切
foo
类型的数据资源 - 数据资源架构中的
foo_bar
列 - 数据资源架构中的嵌套列
foo_bar
- 项目
prod-foo-bar
- 名为
foo
的公开标记模板、使用foo
标记模板标记的数据条目、foo
的标记模板显示名称、foo
的标记模板字段名称,以及字符串、枚举或富文本中的foo
标记字段值。 - (预览版)使用名为
foo
的数据管家的数据资源。 - (预览版)具有包含字词
foo
的概述的数据资产。
如需详细了解查看公开和非公开标记所需的角色和权限,请参阅查看公开和非公开标记所需的角色。
限定谓词
您可以通过在谓词前面添加一个键来限定谓词,该键将匹配限制为特定的一部分元数据。
等号 (=
) 将搜索限制为完全匹配。
键后面的冒号 (:
) 将谓词与搜索结果中的值中的子字符串或词法单元匹配。
词法单元化将文本流分解为一系列词法单元,每个词法单元通常对应一个字词。
例如:
name:foo
选择名称中包含foo
子字符串的实体:foo1
和barfoo
。description:foo
选择说明中包含foo
词法单元的实体:bar and foo
。location=foo
匹配指定位置中具有foo
作为位置名称的所有数据资源。
Data Catalog 支持以下限定符:
限定符 | 说明 |
---|---|
name:x |
将 x 作为子字符串与数据资源 ID 匹配。 |
displayname:x |
将 x 作为子字符串与数据资源显示名称匹配。 |
column:x |
将 x 作为子字符串与数据资源架构中的列名称(或嵌套列名称)匹配。您可以使用 AND 逻辑运算符按路径搜索嵌套列。 例如, column:(foo bar) 将嵌套列与 foo.bar 路径匹配。 |
description:x |
将 x 作为令牌与数据资源说明匹配。 |
label:bar |
匹配具有标签(带有某个值)且标签键中含有 bar 这个子字符串的 BigQuery 数据资源。 |
label=bar |
匹配具有标签(具有某个值)且标签键等于字符串 bar 的 BigQuery 数据资源。 |
label:bar:x |
将 x 作为子字符串与附加到 BigQuery 数据资源的键为 bar 标签值匹配。 |
label=foo:bar |
匹配键为 foo 且键值为 bar 的 BigQuery 数据资源。 |
label.foo=bar |
匹配键为 foo 且键值为 bar 的 BigQuery 数据资源。 |
label.foo |
以字符串形式匹配具有键为 foo 的标签的 BigQuery 数据资源。 |
type=<type> |
匹配特定对象类型或子类型的数据资源。可使用 <type>.<sub-type>. 格式来添加子类型类型和子类型包括:
|
projectid:bar |
匹配 Cloud 项目中的数据资源,这些 Cloud 项目的 ID 中有 bar 这一子字符串。 |
parent:x |
将 x 作为 BigQuery 数据资源分层路径的子字符串匹配。路径的格式为 <project_id>.<dataset_name> 。例如, parent:foo.bar 会匹配路径为 project-foo.bar-dataset 的数据集的所有表和视图。 |
orgid=number |
匹配确切 ID 值为 number 的 Cloud 组织内的数据资源。 |
system=<system> |
匹配来自指定系统的所有数据资源。 系统包括:
|
location=<location> |
匹配指定位置中具有确切名称的所有数据资源。例如,location=us-central1 与爱荷华州托管的所有资源相匹配。如需查看受支持位置的完整列表,请参阅 Data Catalog 区域。 |
cluster_location=<location> |
匹配指定位置中具有确切名称的所有 Bigtable 数据资产。 例如, cluster_location=us-central1 与爱荷华州托管的所有资源相匹配。如需查看受支持位置的完整列表,请参阅 Bigtable 区域。 |
tag:x |
匹配数据资源,其中 x 匹配不公开或公开标记的 <tag_template_project_id >.<tag_template_id >.<tag_field_id > 中的任何字符串。示例:
|
tag:key<operator>val |
首先,将 key 与标记模板的标记字段 ID、标记模板 ID 或 Google Cloud 项目 ID 的任意子字符串匹配。然后,根据标记字段类型,将 val 与 key 的标记值匹配。标记值允许的依赖于类型的 <operator> 集为:
|
createtime |
查找在指定日期或时间之内、之前或之后创建的数据资源。 示例:
|
updatetime |
查找在指定日期或时间之内、之前或之后更新的数据资源。 示例:
|
policytag:x |
将 x 作为子字符串与政策标记显示名匹配。 查找使用匹配政策标记或其后代的所有资产。 |
policytagid=x |
将 x 作为政策标记或分类 ID 匹配。查找使用匹配政策标记或其后代的所有资产。 |
term:x |
匹配与业务术语表术语相关联的数据资源,其中名称、说明或数据管理员的子字符串与 x 匹配。 |
fully_qualified_name:x |
将 x 作为子字符串与 fully_qualified_name 匹配。 |
fully_qualified_name=x |
将 x 匹配为 fully_qualified_name 。 |
逻辑运算符
查询可以由若干谓词和逻辑运算符组成。如果您未指定运算符,则意味着使用隐含的逻辑 AND
。例如,foo bar
返回同时匹配谓词 foo
和谓词 bar
的实体。
支持逻辑 AND 和逻辑 OR,例如 foo OR bar
。
您可以使用 -
或 NOT
前缀来排除谓词。例如,-name:foo
返回名称与谓词 foo
不匹配的所有实体。
缩写语法
您还可以使用缩写搜索语法,用 |
代替 OR
运算符,用 ,
代替 AND
运算符。
例如,要使用 OR
运算符搜索众多项目中的某一个项目中的条目,您可以使用:
projectid:(pid1|pid2|pid3|pid4)
来替代:
projectid:pid1 OR projectid:pid2 OR projectid:pid3 OR projectid:pid4
要搜索具有匹配列名称的条目,可以使用:
- 和:
column:(name1, name2, name3)
- 或:
column:(name1|name2|name3)
此缩写语法适用于上面列出的限定谓词,但 tag
、term
、policytag
、policytagid
和 label
除外。