Gérer les ressources à l'aide de Data Catalog

Cette page explique comment rechercher et gérer vos ressources Spanner à l'aide de Data Catalog.

Data Catalog est un service de gestion des métadonnées entièrement géré et évolutif au sein de Dataplex. Il catalogue automatiquement les métadonnées suivantes sur Instances, bases de données, tables, colonnes et vues Spanner:

  • Nom et nom complet
  • Emplacement (région)
  • Dates de création et de dernière modification
  • Schéma (pour les tables et les vues)
  • Description

Spanner les métadonnées sont automatiquement synchronisées avec Data Catalog à intervalles réguliers, généralement toutes les deux ou trois heures. Vous pouvez utiliser Data Catalog pour découvrir et comprendre vos métadonnées Spanner. Utilisez Data Catalog vous aide à réaliser les activités suivantes:

  • Analyse, y compris des dépendances et de l'adéquation à un cas d'utilisation
  • Gestion du changement
  • Transfert de données (pipelines)
  • Évolution du schéma

Avec Data Catalog, vous pouvez organiser vos métadonnées en associant des tags Entrées de métadonnées Spanner. Chaque balise peut avoir plusieurs métadonnées et peuvent être basés sur un modèle de tag prédéfini ou personnalisé.

Par exemple, vous pouvez associer le tag suivant à une colonne contenant un numéro de sécurité sociale, qui est une information permettant d'identifier personnellement l'utilisateur :

pii:true
pii_type:SSN

Lorsque vous déplacez une instance qui utilise des tags, ceux-ci ne sont pas automatiquement ajoutés déplacées vers l'instance de destination. Vous devez exporter les tags l'instance source avant de la déplacer, puis importez les tags dans la instance de destination. Pour en savoir plus, consultez Exporter et importer des tags

Pour en savoir plus sur Data Catalog, consultez la page Présentation Data Catalog

Avant de commencer

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  5. Make sure that billing is enabled for your Google Cloud project.

  6. Activez l'API Data Catalog pour le projet.

    Activer l'API Data Catalog

  7. Vérifiez les autorisations.

    Vous devez disposer de certains rôles et autorisations IAM (Identity and Access Management) pour rechercher et associer des tags aux éléments Spanner. Pour plus d'informations, consultez la section Rôles et autorisations IAM requis pour Data Catalog.

Créer des modèles de tag

Les modèles de tag sont des structures réutilisables qui vous permettent de créer rapidement des tags. Les modèles vous aident à éviter la duplication de tâches et de tags incomplets. Créez autant de modèles de tags que nécessaire.

Pour en savoir plus, consultez Tags et tags modèles de ML.

Associer des tags aux éléments Spanner

Associer des tags aux éléments Spanner vous permet d'effectuer les opérations suivantes:

  • Ajouter des métadonnées métier aux éléments.
  • Rechercher des éléments par métadonnées métier et autres métadonnées personnalisées.

Pour en savoir plus, consultez Tags et tags modèles de ML.

Rechercher des éléments Spanner

Utilisez la page de recherche Dataplex dans la console Google Cloud pour rechercher des éléments Spanner.

  1. Accédez à la page de recherche de Dataplex.

    Accéder à Dataplex

  2. Dans le panneau Filtres, sous Systèmes, sélectionnez Spanner.

    Dataplex affiche tous les éléments Spanner connus.

  3. Facultatif : effectuez l'une des opérations suivantes pour affiner la recherche :

    • Utilisez la recherche par attribut sur la page Recherche. Cochez les cases sous Types de données, Projets et Tags.

    • Dans le champ de recherche, ajoutez un paramètre de recherche après system=cloud_spanner. Séparez les paramètres par des espaces.

    Par exemple, pour afficher uniquement les bases de données, saisissez le texte suivant dans la requête puis appuyez sur Enter.

     system=cloud_spanner type=database
    

    Vous pouvez également utiliser des parenthèses et les opérateurs logiques and et or pour les expressions complexes. Pour en savoir plus sur les expressions que vous pouvez utiliser dans le champ de recherche, consultez la section Syntaxe de recherche dans Data Catalog.

  4. Dans la table des résultats, cliquez sur le nom d'un élément pour en afficher les métadonnées.

  5. Facultatif : effectuez l'une des opérations suivantes :

    • Cliquez sur AJOUTER UNE PRÉSENTATION pour ajouter une description en texte enrichi de l'élément.
    • Cliquez sur ASSOCIER DES TAGS pour ajouter un tag à l'élément.
    • Pour afficher les colonnes d'une table, cliquez sur l'onglet SCHEMA.
    • Pour une instance (SERVICE), pour afficher les bases de données des membres, cliquez sur l'onglet LISTE D'ENTRÉES, puis sur AFFICHER LES ENTRÉES FILLES DANS LA RECHERCHE. (Si le l'onglet ENTRY LIST (Liste d'entrées) ne s'affiche pas, cela signifie que l'instance ne possède aucune base de données.)

Exemple de workflow : afficher le détail d'une instance aux colonnes

Dans cet exemple de workflow, vous commencez par rechercher , puis afficher la base de données d'un membre, puis afficher une table de cette base de données, et puis affichez les colonnes du tableau.

  1. Accédez à la page de recherche de Dataplex.

    Accéder à Dataplex

  2. Dans le panneau Filtres, sous Systèmes, sélectionnez Spanner.

  3. Pour afficher toutes les instances Spanner dans le catalogue de données, cochez la case Service sous Types de données, ou saisissez le texte suivant dans le champ de recherche, puis appuyez sur Enter.

    system=cloud_spanner type=service
    
  4. Sélectionnez un nom d'instance.

  5. Sur la page Détails du service Spanner, cliquez sur l'onglet LISTE D'ENTRÉES, puis sur AFFICHER LES ENTRÉES FILLES DANS LA RECHERCHE.

    Dataplex affiche les bases de données de l'instance.

  6. Sur la page Détails de la base de données Spanner, cliquez sur le bouton ENTRÉE LISTE, puis sur AFFICHER LES ENFANTS DANS LA RECHERCHE.

    Dataplex affiche les tables de la base de données.

  7. Sélectionnez un nom de table, puis sur la page Spanner table details (Détails de la table Spanner), cliquez sur SCHEMA pour voir les colonnes de la table.

  8. Facultatif : Pour ajouter une balise à une colonne, cliquez sur le signe plus sous Balises de colonne.

Exporter et importer des tags

Lorsque vous déplacez une instance Spanner, le processus de déplacement supprime les balises d'instance que vous avez créées dans Data Catalog. Pour conserver vos balises, procédez comme suit :

  • Interrogez les tags associés à l'instance.
  • Copiez les informations des balises.
  • Créez les tags sur l'instance déplacée.

Spanner synchronise les données toutes les six heures. La propagation des modifications apportées aux métadonnées des éléments Spanner tels que les instances, les bases de données, les tables, les vues ou les colonnes dans Data Catalog peut prendre environ six heures.

Exporter des balises à partir de la configuration de l'instance source

Pour lister les balises d'une instance (entrée ou groupe d'entrées), utilisez la commande gcloud data-catalog tags list de la Google Cloud CLI comme suit :

curl \
'https://datacatalog.googleapis.com/v1/projects/PROJECT/locations/LOCATION/entryGroups/ENTRY_GROUP/tags?key=API_KEY' \
  --header 'Authorization: Bearer ACCESS_TOKEN' \
  --header 'Accept: application/json' \
  --compressed

Remplacez les éléments suivants :

  • PROJECT : projet contenant les balises.
  • LOCATION : emplacement des balises.
  • API_KEY: chaîne unique qui vous permet d'accéder à une API.
  • ACCESS_TOKEN: jeton d'accès utilisé par votre application pour s'authentifier auprès du service.

Importer des balises dans la configuration de la destination

Avant de suivre cette procédure, procédez comme suit :

Pour copier un tag, créez les tags sur l'instance déplacée à l'aide de la méthode gcloud data-catalog tags create comme suit:

curl --request POST \
'https://datacatalog.googleapis.com/v1/entries:lookup?fullyQualifiedName=FQN&location=LOCATION&project=PROJECT&key=API_KEY' \
  --header 'Authorization: Bearer ACCESS_TOKEN' \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --data '{"column":"myColumnName","name":"myTagName","template":"myTemplateName","fields":{"myDoubleField":{"doubleValue":0}}}' \
  --compressed

Remplacez les éléments suivants :

  • FQN : nom complet (FQDN, Fully Qualified Domain Name) de la ressource. Les FQN prennent deux formulaires:

    Pour les ressources non régionalisées : {SYSTEM}:{PROJECT}.{PATH_TO_RESOURCE_SEPARATED_WITH_DOTS}

    Pour les ressources régionalisées : {SYSTEM}:{PROJECT}.{LOCATION_ID}.{PATH_TO_RESOURCE_SEPARATED_WITH_DOTS}

    Exemple pour une table DPMS:

    dataproc_metastore:{PROJECT_ID}.{LOCATION_ID}.{INSTANCE_ID}.{DATABASE_ID}.{TABLE_ID}

  • LOCATION : emplacement où la recherche est effectuée.

  • PROJECT: projet dans lequel la recherche est effectuée.

  • API_KEY: chaîne unique qui vous permet d'accéder à une API.

  • ACCESS_TOKEN : jeton d'accès utilisé par votre application pour s'authentifier auprès du service.

Rôles et autorisations IAM requis pour Data Catalog

Le tableau suivant présente les rôles et autorisations IAM requis pour les différentes opérations Data Catalog.

Fonctionnement de Data Catalog Ressource Spanner Rôles ou autorisations requis
Créer un modèle de tag ND roles/datacatalog.tagTemplateCreator
Rechercher des ressources Spanner Instance spanner.instances.get
Base de données spanner.databases.get
Tableau spanner.databases.get
Vues spanner.databases.get
Afficher les tags publics Instance spanner.instances.get
Base de données spanner.databases.get
Tableau spanner.databases.get
Vues spanner.databases.get
Afficher les tags privés Instances datacatalog.tagTemplates.getTag + spanner.instances.get
Bases de données datacatalog.tagTemplates.getTag + spanner.databases.get
Tables datacatalog.tagTemplates.getTag + spanner.databases.get
Vues datacatalog.tagTemplates.getTag + spanner.databases.get
Associer un tag à une ressource Spanner à l'aide d'un modèle de tag Instances datacatalog.tagTemplates.use + spanner.instances.updateTag
Bases de données datacatalog.tagTemplates.use + spanner.databases.updateTag
Tables datacatalog.tagTemplates.use + spanner.databases.updateTag
Vues datacatalog.tagTemplates.use + spanner.databases.updateTag

L'autorisation spanner.instances.UpdateTag est incluse dans le rôle suivant :

  • roles/spanner.admin

L'autorisation spanner.databases.UpdateTag est incluse dans les rôles suivants :

  • roles/spanner.admin
  • roles/spanner.databaseAdmin
  • roles/spanner.databaseUser

Pour en savoir plus, consultez la section Rôles prédéfinis.

Étapes suivantes