このドキュメントでは、Data Catalog の検索クエリの構文について説明します。このドキュメントを読む前に、データエントリ、タグとタグ テンプレート、その他の種類のメタデータなど、Data Catalog のコンセプトを理解しておくことが重要です。Data Catalog とはをご覧ください。
Google Cloud コンソールで Data Catalog の検索クエリを起動するには、Data Catalog の [検索] ページに移動し、検索モードとして [Data Catalog] を選択します。
シンプルな検索機能
最も簡単な形式は、述語を 1 つだけ含む 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
」という単語を含むデータアセット。
公開タグと非公開タグを表示するロールと権限の詳細については、公開タグと非公開タグを表示するロールをご覧ください。
修飾された述語
述語の先頭にキーを付けて修飾すると、照合範囲を特定のメタデータ部分に限定できます。
等号(=
)は、検索の対象を完全一致に絞り込むものです。
キーの後のコロン(:
)は、述語を検索結果内の値に含まれる部分文字列またはトークンと照合します。
トークン化により、テキストのストリームが一連のトークン(各トークンは通常 1 つの単語に対応)に分解されます。
例:
name:foo
は、foo
部分文字列(foo1
とbarfoo
)を含む名前のエンティティを選択します。description:foo
は、説明(bar and foo
)の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 |
ラベル(ある値を持つ)を持つ BigQuery データアセットを照合します。ラベルキーには部分文字列として bar があります。 |
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 |
bar と ID の部分文字列が一致する Cloud プロジェクト内のデータアセットを照合します。 |
parent:x |
x を BigQuery データアセットの階層パスの文字列部分と照合します。パスの形式は <project_id>.<dataset_name> です。たとえば、 parent:foo.bar は、パスが project-foo.bar-dataset であるデータセットのすべてのテーブルとビューを照合します。 |
orgid=number |
Cloud 組織内のデータアセットを number の正確な ID 値と照合します。 |
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
演算子を使用して、複数のプロジェクトの 1 つのエントリを検索するには、次の構文を使用します。
projectid:(pid1|pid2|pid3|pid4)
従来の方法:
projectid:pid1 OR projectid:pid2 OR projectid:pid3 OR projectid:pid4
列名が一致するエントリを検索するには:
- AND:
column:(name1, name2, name3)
- OR:
column:(name1|name2|name3)
この簡略構文は、tag
、term
、policytag
、policytagid
、label
を除く、上記の修飾された述語で使用できます。