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 concernant les 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

Les métadonnées Spanner 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 pour effectuer les opérations suivantes:

  • Analyse, y compris les dépendances et la pertinence pour un cas d'utilisation
  • Gestion des changements
  • Transfert de données (pipelines)
  • Évolution du schéma

Avec Data Catalog, vous pouvez gérer les métadonnées en associant des tags aux entrées de métadonnées Spanner. Chaque balise peut comporter plusieurs champs de métadonnées et peut être basée sur un modèle de tag prédéfini ou personnalisé.

Par exemple, vous pouvez ajouter la balise suivante à une colonne contenant un numéro de sécurité sociale, qui correspond à des informations 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 déplacés vers l'instance de destination. Au lieu de cela, vous devez exporter les tags à partir de l'instance source avant de déplacer l'instance, puis les importer dans l'instance de destination. Pour en savoir plus, consultez Exporter et importer des tags.

Pour en savoir plus sur Data Catalog, consultez la page Qu'est-ce que Data Catalog.

Avant de commencer

  1. Connectez-vous à votre compte Google Cloud. Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $ de crédits gratuits pour exécuter, tester et déployer des charges de travail.
  2. Dans Google Cloud Console, sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud.

    Accéder au sélecteur de projet

  3. Vérifiez que la facturation est activée pour votre projet Google Cloud.

  4. Dans Google Cloud Console, sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud.

    Accéder au sélecteur de projet

  5. Vérifiez que la facturation est activée pour votre projet Google Cloud.

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

    Activer l'API Data Catalog

  7. Vérifiez les autorisations.

    Vous avez besoin 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 tag que nécessaire.

Pour en savoir plus, consultez Balises et modèles de tag.

Associer des tags aux éléments Spanner

L'association de 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 Balises et modèles de tag.

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 n'afficher que les bases de données, saisissez le texte suivant dans le champ de recherche, 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 page Syntaxe de recherche 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.
    • Dans le cas d'une table, cliquez sur l'onglet SCHEMA pour afficher les colonnes de la table.
    • 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 ENTREPRISES ENFANT DANS LA RECHERCHE. (Si l'onglet LISTE D'ENTRÉE ne s'affiche pas, cela signifie que l'instance ne comporte 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 une instance Spanner, puis vous affichez une base de données de membres, une table de cette base de données, puis les colonnes de la table.

  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 Data Catalog, cochez la case Service sous Types de données, ou saisissez le texte suivant dans le champ de recherche et appuyez sur Enter.

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

  5. Sur la page Informations sur le service Spanner, cliquez sur l'onglet LISTE D'ENTRÉES, puis sur AFFICHER LES ENTREPRISES DES ENFANTS DANS LA RECHERCHE.

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

  6. Sur la page Informations sur la base de données Spanner, cliquez sur l'onglet LISTE D'ENTRÉES, puis sur AFFICHER LES ENTREPRISES DES 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 Informations sur la table Spanner, cliquez sur AFFICHER pour afficher les colonnes de la table.

  8. Facultatif: Pour ajouter un tag à une colonne, cliquez sur le signe plus sous Tags de colonne.

Exporter et importer des tags

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

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

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

Exporter les tags à partir de la configuration de l'instance source

Pour répertorier les tags d'une instance (groupe d'entrées ou 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 destination

Avant de terminer 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 commande 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 de la ressource. Les noms de domaine complet se présentent sous deux formes:

    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 de 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 de Data Catalog.

Opération Data Catalog Ressource Spanner Rôles ou autorisations requis
Créer un modèle de tag Non disponible roles/datacatalog.tagTemplateCreator
Rechercher des ressources Spanner Instance spanner.instances.get
Base de données spanner.databases.get
Table spanner.databases.get
Vues spanner.databases.get
Afficher les tags publics Instance spanner.instances.get
Base de données spanner.databases.get
Table 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