Dataplex Universal Catalog 的搜索语法

本文档介绍了 Dataplex Universal Catalog 搜索查询的语法。在阅读本文档之前,请务必了解 Dataplex Universal Catalog 中的元数据管理概念,例如条目、切面、切面类型、条目组和条目类型。如需了解详情,请参阅 Dataplex Universal Catalog 中的数据目录管理简介

如需在Google Cloud 控制台中启动 Dataplex Universal Catalog 搜索查询,请前往 Dataplex Universal Catalog 搜索页面,然后选择 Dataplex Catalog 作为搜索模式。

转到搜索

如需了解详情,请参阅在 Dataplex Universal Catalog 中搜索资源

形式最简单的 Dataplex Universal Catalog 搜索查询由单个谓词组成。这些谓词可以匹配多个元数据:

  • 资源的名称、显示名称或说明的子字符串
  • 资源类型的子字符串
  • 资源架构中的列名称(或嵌套列名称)的子字符串
  • 项目 ID 的子字符串
  • 概览说明中的字符串

例如,谓词 foo 与以下资源匹配:

  • 名称为 foo.bar 的资源
  • 显示名称为 Foo Bar 的资源
  • 说明为 This is the foo script 的资源
  • 具有确切类型 foo 的资源
  • 资源架构中的列 foo_bar
  • 资源架构中的嵌套列 foo_bar
  • 项目 prod-foo-bar
  • 具有包含字词 foo 的概览的资源

限定谓词

您可以通过在谓词前面添加一个键来限定谓词,该键将匹配限制为特定的一部分元数据:

  • 等号 (=) 将搜索限制为完全匹配。
  • 键后面的英文冒号 (:) 将谓词与搜索结果的值中的子字符串或词元匹配。

词元化将文本流分解为一系列词元,每个词元通常对应于一个字词。

例如:

  • name:foo 选择名称中包含 foo 子字符串的资源,例如 foo1barfoo
  • description:foo 选择说明中包含 foo 词元的资源,例如 barfoo
  • location=foo 匹配指定位置中以 foo 作为位置名称的资源。

谓词键 typesystemlocationorgid 仅支持完全匹配 (=) 限定符,不支持子字符串限定符 (:)。例如,type=fooorgid=number

Dataplex Universal Catalog 支持以下限定符:

限定符 说明
name:x x 作为子字符串与资源 ID 匹配。
displayname:x x 作为子字符串与资源显示名称匹配。
column:x x 作为子字符串与资源架构中的列名称(或嵌套列名称)匹配。
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 匹配特定条目类型或其类型别名的资源。
projectid:bar 匹配 Google Cloud 项目中的资源,这些资源以 ID 中的字符串形式匹配 bar
parent:x x 作为资源的层次结构路径的子字符串匹配。父级路径是父级资源的 fully_qualified_name
orgid=number 匹配确切 ID 值为 number 的 Google Cloud 组织内的资源。
system=SYSTEM 匹配指定系统中的资源。
location=LOCATION

匹配指定位置中具有确切名称的资源。例如,location=us-central1 与爱荷华州托管的资产相匹配。

BigQuery Omni 资产通过使用 BigQuery Omni 位置名称来支持此限定符。例如,location=aws-us-east-1 匹配北弗吉尼亚的 BigQuery Omni 资产。

createtime

查找在指定日期或时间之内、之前或之后创建的资源。

例如:

  • createtime:2019-01-01 匹配在 2019-01-01 创建的资源。
  • createtime<2019-02 匹配在 2019-02-01T00:00:00 之前创建的资源。
  • createtime>2019-02 匹配在 2019-02-01T00:00:00 之后创建的资源。

时间戳格式:YYYY-MM-DDThh:mm:ss

所有时间戳必须采用 GMT(不支持时区)。支持部分时间戳、连字符 (-) 日期分隔符和斜杠 (/) 日期分隔符。

例如:

  • 2010-10-22T05:36:24
  • 2010-10-22T05:36
  • 2010-10-22T05
  • 2010-10-22
  • 2010-10
  • 2010
  • 2010/10/22
updatetime

查找在指定日期或时间之内、之前或之后更新的资源。

例如:

  • updatetime:2019-01-01 匹配在 2019-01-01 更新的资源。
  • updatetime<2019-02 匹配在 2019-02-01T00:00:00 之前更新的资源。
  • updatetime>2019-02 匹配在 2019-02-01T00:00:00 之后更新的资源。

时间戳格式:YYYY-MM-DDThh:mm:ss

所有时间戳必须采用 GMT(不支持时区)。支持部分时间戳、连字符 (-) 日期分隔符和斜杠 (/) 日期分隔符。

例如:

  • 2010-10-22T05:36:24
  • 2010-10-22T05:36
  • 2010-10-22T05
  • 2010-10-22
  • 2010-10
  • 2010
  • 2010/10/22
fully_qualified_name:x x 作为子字符串与 fully_qualified_name 匹配。
fully_qualified_name=x x 匹配为 fully_qualified_name

如需根据条目的附加切面搜索条目,请使用以下查询语法。

限定符 说明
aspect:x x 作为子字符串与附加到条目的切面的切面类型的完整路径匹配,格式为 projectid.location.ASPECT_TYPE_ID
aspect=x x 与附加到条目的切面的切面类型的完整路径匹配,格式为 projectid.location.ASPECT_TYPE_ID
aspect:xOPERATORvalue

搜索切面字段值。将 x 作为子字符串与附加到条目的切面的切面类型和字段名称的完整路径匹配,格式为 projectid.location.ASPECT_TYPE_ID.FIELD_NAME

支持的运算符列表取决于切面中的字段类型,如下所示:

  • 字符串=(完全匹配)和 :(子字符串)
  • 所有数字类型=:<><=>==>=<
  • 枚举=
  • 日期时间:与数字相同,但要比较的值被视为日期时间而非数字
  • 布尔值=

只有切面的顶级字段可供搜索。

例如,以下所有查询都会匹配 employee-info 切面的 is-enrolled 字段值为 true 的条目。系统还会返回与子字符串匹配的其他条目。

  • aspect:example-project.us-central1.employee-info.is-enrolled=true
  • aspect:example-project.us-central1.employee=true
  • aspect:employee=true

逻辑运算符

查询可以由若干谓词和逻辑运算符组成。如果您未指定运算符,则意味着使用隐含的逻辑 AND。例如,foo bar 返回同时匹配谓词 foo 和谓词 bar 的资源。

支持逻辑 AND 和逻辑 OR。例如 foo OR bar

您可以使用 -(连字符)或 NOT 前缀来排除谓词。例如,-name:foo 会返回名称与谓词 foo 不匹配的资源。

逻辑运算符不区分大小写。例如,orOR 均为可接受的值。

缩写语法

您还可以使用缩写搜索语法,用 |(竖线)代替 OR 运算符,用 ,(英文逗号)代替 AND 运算符。

例如,如需使用 OR 运算符搜索多个项目中的某一个项目中的条目,您可以使用以下缩写语法:

projectid:(id1|id2|id3|id4)

如果不使用缩写语法,同一搜索查询如下所示:

projectid:id1 OR projectid:id2 OR projectid:id3 OR projectid:id4

如需搜索具有匹配列名称的条目,请使用以下命令:

  • ANDcolumn:(name1, name2, name3)
  • ORcolumn:(name1|name2|name3)

此缩写语法适用于除 label 之外的限定谓词

后续步骤