Ce document décrit la syntaxe des requêtes de recherche dans Data Catalog. Avant de lire ce document, il est important que vous compreniez les concepts de Data Catalog, tels que la saisie de données, les balises et les modèles de balises, ainsi que d'autres types de métadonnées. Consultez Qu'est-ce que Data Catalog ?
Pour lancer une requête de recherche Data Catalog dans la console Google Cloud, accédez à la page Recherche de Data Catalog, puis sélectionnez Data Catalog comme mode de recherche.
Recherche simple
Dans sa forme la plus simple, une requête de recherche Data Catalog comprend un seul prédicat. Ce prédicat peut correspondre à plusieurs métadonnées :
- Sous-chaîne contenant le nom, le nom à afficher ou la description d'un élément de données
- Type exact d'un élément de données
- Sous-chaîne d'un nom de colonne (ou de colonne imbriquée) dans le schéma d'un élément de données
- Sous-chaîne d'un ID de projet
- Valeur d'un tag public, nom d'un modèle de tag public ou nom de champ dans un modèle de tag public associé à une entrée de données.
- (Aperçu) Chaîne représentant une adresse e-mail ou un nom de responsable des données
- (Aperçu) Chaîne issue d'une description de présentation
La recherche simple n'est pas compatible avec les champs de modèle de balise de type datetime
.
Par exemple, le prédicat foo
correspond aux entités suivantes :
- Élément de données avec le nom
foo.bar
- Élément de données avec le nom à afficher
Foo Bar
- Élément de données avec la description
This is the foo script.
- Élément de données avec le type
foo
exact - Colonne
foo_bar
dans le schéma d'un élément de données - Colonne imbriquée
foo_bar
dans le schéma d'un élément de données - Projet
prod-foo-bar
- Modèle de balise public nommé
foo
, entrées de données taguées avec le modèle de balisefoo
, nom à afficher du modèle de balisefoo
, nom du champ du modèle de balisefoo
et valeur du champ de balisefoo
dans une chaîne, une énumération ou un texte enrichi. - (Aperçu) Élément de données avec un responsable des données appelé
foo
. - (Aperçu) Élément de données avec un aperçu contenant le mot
foo
.
Pour en savoir plus sur les rôles et les autorisations permettant d'afficher les balises publiques et privées, consultez la section Rôles permettant d'afficher les balises publiques et privées.
Prédicats qualifiés
Vous pouvez qualifier un prédicat en le préfixant avec une clé qui limite la correspondance à une métadonnée spécifique.
Le signe égal (=
) limite la recherche à une correspondance exacte.
Le signe deux-points (:
) après la clé correspond au prédicat d'une sous-chaîne ou d'un jeton compris dans la valeur des résultats de recherche.
La tokenisation divise le flux de texte en une série de jetons, chaque jeton correspondant généralement à un seul mot.
Exemple :
name:foo
sélectionne les entités dont le nom contient la sous-chaînefoo
:foo1
etbarfoo
.description:foo
sélectionne les entités ayant le jetonfoo
dans la description :bar and foo
.location=foo
renvoie tous les éléments de données d'un emplacement spécifié avecfoo
comme nom d'emplacement.
Data Catalog accepte les qualificatifs suivants :
Qualificatif | Description |
---|---|
name:x |
Renvoie x en tant que sous-chaîne de l'ID de l'élément de données. |
displayname:x |
Renvoie x en tant que sous-chaîne du nom d'affichage de l'élément de données. |
column:x |
Correspond à x en tant que sous-chaîne du nom de la colonne (ou du nom de la colonne imbriquée) dans le schéma de l'élément de données.Vous pouvez rechercher une colonne imbriquée par son chemin d'accès à l'aide de l'opérateur logique AND. Par exemple, column:(foo bar) correspond à une colonne imbriquée avec le chemin d'accès foo.bar . |
description:x |
Renvoie x en tant que jeton dans la description de l'élément de données. |
label:bar |
Renvoie les éléments de données BigQuery comportant une étiquette (avec une certaine valeur) et dont la clé d'étiquette est bar en tant que sous-chaîne. |
label=bar |
Renvoie les éléments de données BigQuery comportant une étiquette (avec une certaine valeur) et dont la clé d'étiquette est bar en tant que chaîne. |
label:bar:x |
Correspond à x en tant que sous-chaîne dans la valeur d'une étiquette associée à la clé bar et à un élément de données BigQuery. |
label=foo:bar |
Correspond aux éléments de données BigQuery dont la clé est foo et la valeur de clé bar . |
label.foo=bar |
Correspond aux éléments de données BigQuery dont la clé est foo et la valeur de clé bar . |
label.foo |
Renvoie les éléments de données BigQuery comportant une étiquette dont la clé est foo en tant que chaîne. |
type=<type> |
Renvoie les éléments de données d'un type ou sous-type d'objet spécifique. Les sous-types peuvent être ajoutés au format <type>.<sub-type>. Les types et sous-types incluent :
|
projectid:bar |
Renvoie les éléments de données dans les projets cloud qui correspondent à bar en tant que sous-chaîne dans l'ID. |
parent:x |
Correspond à x en tant que sous-chaîne du chemin d'accès hiérarchique d'un élément de données BigQuery. Le chemin d'accès est au format <project_id>.<dataset_name> .Par exemple, parent:foo.bar correspond à toutes les tables et vues d'un ensemble de données avec le chemin d'accès project-foo.bar-dataset . |
orgid=number |
Fait correspondre les éléments de données d'une organisation Cloud avec la valeur d'ID exacte number . |
system=<system> |
Renvoie tous les éléments de données d'un système spécifié. Les systèmes incluent :
|
location=<location> |
Fait correspondre tous les éléments de données d'un emplacement spécifié avec un nom exact. Par exemple, location=us-central1 correspond à tous les éléments hébergés dans l'Iowa.Pour obtenir la liste complète des emplacements acceptés, consultez la page Régions de Data Catalog. |
cluster_location=<location> |
Fait correspondre tous les éléments de données Bigtable d'un emplacement spécifié avec un nom exact. Par exemple, cluster_location=us-central1 correspond à tous les éléments hébergés dans l'Iowa.Pour obtenir la liste complète des emplacements acceptés, consultez la page Régions Bigtable. |
tag:x |
Renvoie les éléments de données où x correspond à une sous-chaîne dans <tag_template_project_id >.<tag_template_id >.<tag_field_id > d'une balise privée ou publique.Exemples:
|
tag:key<operator>val |
Tout d'abord, fait correspondre key à n'importe quelle sous-chaîne de l'ID du champ de tag, de l'ID du modèle de tag ou de l'ID du projet Google Cloud d'un modèle de tag. Ensuite, fait correspondre val à la valeur de tag de key en fonction du type du champ de tag.Les ensembles <operator> dépendant du type autorisés pour les valeurs de tag sont les suivants :
|
createtime |
Recherche les éléments de données qui ont été créés pendant, avant ou après une date ou une heure donnée. Exemples :
|
updatetime |
Recherche les éléments de données qui ont été mis à jour pendant, avant ou après une date ou une heure donnée. Exemples :
|
policytag:x |
Renvoie x en tant que sous-chaîne du nom à afficher du tag avec stratégie. Recherche tous les éléments en utilisant le tag avec stratégie correspondant ou ses descendants. |
policytagid=x |
Correspond à x en tant qu'ID de tag avec stratégie ou classification. Recherche tous les éléments en utilisant le tag avec stratégie correspondant ou ses descendants. |
term:x |
Correspond aux éléments de données associés à un terme de glossaire métier où une sous-chaîne du nom, de la description ou du responsable des données correspond à x . |
fully_qualified_name:x |
Renvoie x en tant que sous-chaîne de fully_qualified_name . |
fully_qualified_name=x |
Correspond à x en tant que fully_qualified_name . |
Opérateurs logiques
Une requête peut être composée de plusieurs prédicats contenant des opérateurs logiques. Si vous ne spécifiez pas d'opérateur, l'opérateur logique AND
est implicite. Par exemple, foo bar
renvoie les entités qui correspondent à la fois au prédicat foo
et au prédicat bar
.
Les opérateurs logique AND et OR logique sont acceptés (par exemple, foo OR bar
).
Vous pouvez annuler un prédicat avec les préfixes -
ou NOT
. Par exemple, -name:foo
renvoie toutes les entités dont le nom ne correspond pas au prédicat foo
.
Syntaxe abrégée
Une syntaxe de recherche abrégée est également disponible, en utilisant |
pour les opérateurs OR
et ,
pour les opérateurs AND
.
Par exemple, pour rechercher des entrées dans l'un des nombreux projets à l'aide de l'opérateur OR
, vous pouvez utiliser:
projectid:(pid1|pid2|pid3|pid4)
À la place de :
projectid:pid1 OR projectid:pid2 OR projectid:pid3 OR projectid:pid4
Pour rechercher des entrées avec des noms de colonne correspondants :
- ET :
column:(name1, name2, name3)
- OU :
column:(name1|name2|name3)
Cette syntaxe abrégée fonctionne pour les prédicats qualifiés listés précédemment, à l'exception de tag
, term
, policytag
, policytagid
et label
.