Dataplex Universal Catalog 的搜尋語法

本文將說明 Dataplex Universal Catalog 搜尋查詢的語法。閱讀本文前,請務必先瞭解 Dataplex Universal Catalog 中繼資料管理的概念,例如項目、切面、切面類型、項目群組和項目類型。詳情請參閱「關於 Dataplex Universal Catalog 中的中繼資料管理」。

如要在Google Cloud 控制台中啟動 Dataplex Universal Catalog 搜尋查詢,請前往 Dataplex Universal Catalog 的「Search」(搜尋) 頁面,然後選取「Dataplex Universal Catalog」(Dataplex Universal Catalog) 做為搜尋模式。

前往「Search」(搜尋) 頁面

詳情請參閱「在 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 比對具有標籤 (具有某些值) 的 BigQuery 資源,且標籤鍵包含 bar 做為子字串。
label=bar 比對具有標籤 (含某些值) 的 BigQuery 資源,且標籤鍵等於 bar (以字串形式)。
label:bar:x 比對附加至 BigQuery 資源的鍵 bar,並將 x 做為標籤值中的子字串。
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 年 1 月 1 日建立的資源相符。
  • 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 年 1 月 1 日更新的資源。
  • 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 xfully_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 除外。

後續步驟