Suchsyntax für Data Catalog

In diesem Dokument wird die Syntax für Suchanfragen an Cloud Data Catalog beschrieben. Bevor Sie dieses Dokument lesen, sollten Sie die Konzepte von Data Catalog kennen, z. B. Dateneingabe, Tags und Tag-Vorlagen sowie andere Arten von Metadaten. Weitere Informationen finden Sie unter Was ist Data Catalog?

Wenn Sie eine Data Catalog-Suchanfrage in der Google Cloud Console starten möchten, rufen Sie die Seite Data Catalog Search (Data Catalog-Suche) auf und wählen Sie als Suchmodus Data Catalog (Data Catalog) aus.

Zur Suche

Eine Data Catalog-Suchanfrage besteht in der einfachsten Form aus einem einzelnen Prädikat. Ein solches Prädikat kann mit mehreren Metadaten übereinstimmen:

  • Ein Teilstring eines Namens, Anzeigenamens oder einer Beschreibung eines Daten-Assets
  • Exakte Art eines Daten-Assets
  • Ein Teilstring eines Spaltennamens (oder verschachtelten Spaltennamen) im Schema eines Datenassets
  • Ein Teilstring einer Projekt-ID
  • Der Wert eines öffentlichen Tags, der Name einer öffentlichen Tag-Vorlage oder ein Feldname in einer öffentlichen Tag-Vorlage, der an einen Dateneintrag angehängt ist.
  • (Vorabversion) Ein String für eine E-Mail-Adresse oder einen Namen für einen Datenbevollmächtigten
  • (Vorabversion) Ein String aus einer Übersichtsbeschreibung

Die einfache Suche unterstützt keine Tag-Vorlagenfelder vom Typ datetime.

Das Prädikat foo stimmt beispielsweise mit den folgenden Entitäten überein:

  • Datenasset mit dem Namen foo.bar
  • Datenasset mit dem Anzeigenamen Foo Bar
  • Datenasset mit der Beschreibung This is the foo script.
  • Datenasset mit dem genauen Typ foo
  • Spalte foo_bar im Schema eines Datenassets
  • Verschachtelte Spalte foo_bar im Schema eines Datenassets
  • Projekt prod-foo-bar
  • Öffentliche Tag-Vorlage mit dem Namen foo, Dateneinträge, die mit der Tag-Vorlage foo getaggt sind, Anzeigename der Tag-Vorlage foo, Feldname der Tag-Vorlage foo und Tag-Feldwert foo in einem String, einer Aufzählung oder in Rich Text.
  • (Vorabversion) Datenasset mit einem Datenbetreuer namens foo.
  • (Vorabversion) Datenasset mit einer Übersicht, die das Wort foo enthält.

Weitere Informationen zu den Rollen und Berechtigungen zum Ansehen öffentlicher und privater Tags finden Sie unter Rollen zum Ansehen öffentlicher und privater Tags.

Qualifizierte Prädikate

Sie können ein Prädikat qualifizieren, indem Sie ihm einen Schlüssel voranstellen, der die Übereinstimmung auf ein bestimmtes Metadatenelement einschränkt.

Ein Gleichheitszeichen (=) beschränkt die Suche auf eine genaue Übereinstimmung.

Ein Doppelpunkt (:), nachdem der Schlüssel das Prädikat mit einem Teilstring oder Token innerhalb des Werts in den Suchergebnissen vergleicht.

Bei der Tokenisierung wird der Textfluss in eine Reihe von Tokens unterteilt, wobei jedes Token in der Regel einem einzelnen Wort entspricht.

Beispiel:

  • Mit name:foo werden Entitäten mit Namen ausgewählt, die den Teilstring foo enthalten: foo1 und barfoo.
  • Mit description:foo werden Entitäten mit dem Token foo in der Beschreibung ausgewählt: bar and foo.
  • location=foo führt zu Übereinstimmung mit allen Daten-Assets an einem angegebenen Standort mit foo als Standortnamen.

Der Data Catalog unterstützt die folgenden Qualifier:

Kennzeichner Beschreibung
name:x Führt zu Übereinstimmung von x mit einem Teilstring der Daten-Asset-ID.
displayname:x Führt zu Übereinstimmung von x mit einem Teilstring des Anzeigenamens des Daten-Assets.
column:x Führt zu Übereinstimmung von x mit einem Teilstring des Spaltennamens (oder des verschachtelten Spaltennamens) im Schema des Datenassets.
Sie können mit dem logischen Operator UND nach seiner verschachtelten Spalte suchen..
Beispielsweise stimmt column:(foo bar) mit einer verschachtelten Spalte mit dem Pfad foo.bar überein.
description:x Führt zu Übereinstimmung von x mit einem Token in der Beschreibung des Daten-Assets.
label:bar Führt zu Übereinstimmung mit BigQuery-Datenassets, die ein Label haben (mit einem Wert) und deren Labelschlüssel bar als Teilstring hat.
label=bar Führt zu Übereinstimmung mit BigQuery-Daten-Assets, die ein Label haben (mit einem Wert) und deren Labelschlüssel dem String bar entspricht.
label:bar:x Führt zu Übereinstimmung von x als Teilstring im Wert eines Labels mit Schlüssel bar, das mit einem BigQuery-Daten-Asset verknüpft ist.
label=foo:bar Führt zu Übereinstimmung mit BigQuery-Daten-Assets, deren Schlüssel foo und deren Schlüsselwert bar ist.
label.foo=bar Führt zu Übereinstimmung mit BigQuery-Daten-Assets, deren Schlüssel foo und deren Schlüsselwert bar ist.
label.foo Führt zu Übereinstimmung mit BigQuery-Daten-Assets, die ein Label haben, dessen Schlüssel dem String foo entspricht.
type=<type> Führt zu Übereinstimmung mit Datenassets eines bestimmten Objekttyps oder Subtyps. Subtypen können im folgenden Format hinzugefügt werden: <type>.<sub-type>.
Zu den Typen und Untertypen gehören:
  • type=table führt zu Übereinstimmung mit allen Tabellen, Ansichten und materialisierten Ansichten.
  • type=dataset führt zu Übereinstimmung mit allen Datensätzen.
  • type=table.view oder type=view führt zu Übereinstimmung mit allen Ansichten, aber nicht mit materialisierten Ansichten.
  • type=materialized_view führt zu Übereinstimmung mit allen materialisierten Ansichten.
  • type=lake führt zu Übereinstimmung mit allen Seen.
  • type=zone führt zu Übereinstimmung mit allen Zonen.
  • type=tag_template führt zu Übereinstimmung mit allen Tag-Vorlagen.
  • type=entry_group führt zu Übereinstimmung mit allen Eintragsgruppen.
  • type=data_stream führt zu Übereinstimmung mit allen Pub/Sub-Themen.
  • (Vorabversion) type=dataset.linked entspricht allen mit Analytics Hub verknüpften Datasets.
projectid:bar Führt zu Übereinstimmung mit Datenassets in Cloud-Projekten, die bar als Teilstring in der ID enthalten.
parent:x Führt zu Übereinstimmung von x mit einem Teilstring des hierarchischen Pfads eines BigQuery-Daten-Assets. Der Pfad hat das Format <project_id>.<dataset_name>.
parent:foo.bar entspricht beispielsweise allen Tabellen und Ansichten eines Datasets mit dem Pfad project-foo.bar-dataset.
orgid=number Führt zu Übereinstimmung mit Datenassets in einer Cloudorganisation mit dem genauen ID-Wert number.
system=<system> Führt zu Übereinstimmung mit allen Daten-Assets eines angegebenen Systems .
Zu den Systemen gehören:
  • system=bigquery führt zu Übereinstimmung mit allen Datenassets von BigQuery.
  • system=cloud_bigtable führt zu Übereinstimmung mit allen Datenassets von Bigtable.
  • system=cloud_pubsub führt zu Übereinstimmung mit allen Datenassets von Pub/Sub.
  • system=cloud_spanner führt zu Übereinstimmung mit allen Datenassets von Spanner.
  • system=dataproc_metastore führt zu Übereinstimmung mit allen Datenassets von Dataproc Metastore.
  • system=data_catalog führt zu Übereinstimmung mit allen Datenassets, die in Data Catalog erstellt wurden.
  • system=dataplex führt zu Übereinstimmung mit allen Datenassets, die in Dataplex erstellt wurden.
location=<location> Führt zu Übereinstimmung mit allen Daten-Assets an einem angegebenen Standort mit einem genauen Namen. Beispiel: location=us-central1 stimmt mit allen Assets überein, die in Iowa gehostet werden.
Eine vollständige Liste der unterstützten Standorte finden Sie unter Data Catalog-Regionen.
cluster_location=<location> Führt zu Übereinstimmung mit allen Bigtable-Daten-Assets an einem angegebenen Standort mit einem genauen Namen.
Beispiel: cluster_location=us-central1 stimmt mit allen Assets überein, die in Iowa gehostet werden.
Eine vollständige Liste der unterstützten Standorte finden Sie unter Bigtable-Regionen.
tag:x Führt zu Übereinstimmung mit Daten-Assets, bei denen x mit einem beliebigen Teilstring in <tag_template_project_id>.<tag_template_id>.<tag_field_id> eines privaten oder öffentlichen Tags übereinstimmt.
Beispiele:
  • tag:data_owner führt zu Übereinstimmung mit Daten-Assets, die das Tag data_owner enthalten.
  • tag:data_gov_template führt zu Übereinstimmung mit Datenassets, die mit der Tag-Vorlage data_gov_template getaggt wurden.
  • tag:mycloudproject.data_gov_template führt zu Übereinstimmung mit Datenassets, die mit der Vorlage data_gov_template im Projekt mycloudproject getaggt sind.
tag:key<operator>val Führt zuerst zu Übereinstimmung von key mit einem beliebigen Teilstring der Tag-Feld-ID, der Tag-Vorlagen-ID oder der Google Cloud-Projekt-ID einer Tag-Vorlage. Gleicht dann val mit dem Tag-Wert von key abhängig vom Tag-Feldtyp ab.
Die typabhängigen <operator>-Sets, die für Tag-Werte zulässig sind, sind:
  • string/richtext: „:“
    Hinweis: Ein Doppelpunkt in dieser Stringsuche gibt einen genauen Tokenabgleich an, keinen Teilstring.
  • boolesch und enum: "="
  • double: "=", "<", ">", "<=", ">="
  • Zeitstempel: ":", "=", "<", ">", "<=", ">="
Beispiele:
  • String: tag:data_owner:@mail.com führt zu Übereinstimmung mit Datenassets mit @mail.com -Werten.
  • boolesch: tag:data_gov_template.hasPII=true führt zu Übereinstimmung mit booleschen hasPII-Tags in data_gov_template die true sind.
  • enum: tag:certification_level_1=HIGHEST.
  • double: tag:datascore=9 führt zu Übereinstimmung mit Datenassets mit datascore-double-Tags mit dem Wert 9.
  • Zeitstempel: tag:expiredDate:2019-01-01 führt zu Übereinstimmung mit Datenassets mit einem expiredDate-Tag mit dem Wert 2019-01-01.
  • Zeitstempel: tag:expiredDate<2019-02 führt zu Übereinstimmung mit Daten-Assets, die ein expiredDate -Tag haben, dessen Zeitstempel zeitlich vor 2019-02-01T00:00:00 liegt.
Timestamp
createtime Findet Datenassets, die an bzw. zu, vor oder nach einem bestimmten Datum oder einer bestimmten Uhrzeit erstellt wurden.
Beispiele:
  • createtime:2019-01-01 führt zu Übereinstimmung mit Datenassets, die am 2019-01-01 erstellt wurden.
  • createtime<2019-02 führt zu Übereinstimmung mit Datenassets, die vor dem 2019-02-01T00:00:00 erstellt wurden.
  • createtime>2019-02 führt zu Übereinstimmung mit Datenassets, die nach dem 2019-02-01T00:00:00 erstellt wurden.
Timestamp
updatetime Findet Datenassets, die an bzw. zu, vor oder nach einem bestimmten Datum oder einer bestimmten Uhrzeit aktualisiert wurden.
Beispiele:
  • updatetime:2019-01-01 führt zu Übereinstimmung mit Datenassets, die am 2019-01-01 aktualisiert wurden.
  • updatetime<2019-02 führt zu Übereinstimmung mit Datenassets, die vor dem 2019-02-01T00:00:00 aktualisiert wurden.
  • updatetime>2019-02 führt zu Übereinstimmung mit Datenassets, die nach dem 2019-02-01T00:00:00 aktualisiert wurden.
Timestamp
policytag:x Entspricht x als Teilstring des Anzeige-Tags des Anzeigenamens. Findet alle Assets mit einem passenden Richtlinien-Tag oder seinen untergeordneten Elementen.
policytagid=x Entspricht x als Richtlinien-Tag- oder Taxonomie-ID. Findet alle Assets mit einem passenden Richtlinien-Tag oder seinen untergeordneten Elementen.
term:x Datenassets werden mit einem Begriff aus dem Glossar für Unternehmen abgeglichen, wenn ein Teilstring des Namens, der Beschreibung oder des Datenbetreuers mit x übereinstimmt.
fully_qualified_name:x Führt zu Übereinstimmung von x mit einem Teilstring von fully_qualified_name.
fully_qualified_name=x x stimmt mit fully_qualified_name überein.

Logische Operatoren

Eine Abfrage kann aus mehreren Prädikaten mit logischen Operatoren bestehen. Wenn Sie keinen Operator angeben, wird das logische AND als Operator angenommen. Beispiel: foo bar gibt Entitäten zurück, die sowohl dem Prädikat foo als auch dem Prädikat bar entsprechen.

Logisches AND und logisches OR werden unterstützt, z. B. foo OR bar.

Ein Prädikat kann mit einem Präfix - oder NOT negiert werden. Beispiel: -name:foo gibt alle Entitäten zurück, deren Namen nicht das Prädikat foo enthalten.

Abgekürzte Syntax

Außerdem ist eine abgekürzte Suchsyntax verfügbar, die | für OR-Operatoren und , für AND-Operatoren verwendet.

Für die Suche nach Einträgen in einem der zahlreichen Projekte mit dem Operator OR können Sie beispielsweise verwenden:

projectid:(pid1|pid2|pid3|pid4)

Anstelle von:

projectid:pid1 OR projectid:pid2 OR projectid:pid3 OR projectid:pid4

So suchen Sie nach Einträgen mit übereinstimmenden Spaltennamen:

  • AND: column:(name1, name2, name3)
  • OR: column:(name1|name2|name3)

Diese abgekürzte Syntax funktioniert für alle oben aufgeführten qualifizierten Prädikate, mit Ausnahme von tag, term, policytag, policytagid und label.