Passer au glossaire d'entreprise dans Dataplex Universal Catalog

Ce document explique comment migrer en une seule étape de la version Preview du glossaire d'entreprise, qui était compatible avec les métadonnées Data Catalog, vers la version en disponibilité générale du glossaire d'entreprise, qui est compatible avec les métadonnées Dataplex Universal Catalog.

Avant de commencer

  1. Installez gcloud ou les packages Python. Authentifiez votre compte utilisateur et les Identifiants par défaut de l'application (ADC) utilisés par les bibliothèques Python. Exécutez les commandes suivantes et suivez les invites basées sur le navigateur :

    gcloud init
    gcloud auth login
    gcloud auth application-default login
    
  2. Activez les API suivantes :

  3. Créez un ou plusieurs buckets Cloud Storage dans l'un de vos projets. Les buckets serviront d'emplacement temporaire pour les fichiers d'importation. Plus vous fournissez de buckets, plus l'importation est rapide. Attribuez le rôle IAM d'administrateur de l'espace de stockage au compte de service qui exécute la migration :

    service-MIGRATION_PROJECT_ID@gcp-sa-dataplex.iam.gserviceaccount.com

    Remplacez MIGRATION_PROJECT_ID par le projet à partir duquel vous migrez les glossaires.

  4. Configurez le dépôt :

    1. Clonez le dépôt :

      git clone https://github.com/GoogleCloudPlatform/dataplex-labs.git
      cd dataplex-labs/dataplex-quickstart-labs/00-resources/scripts/python/business-glossary-import
      
    2. Installez les packages requis :

      pip3 install -r requirements.txt
      cd migration
      

Rôles requis

Exécuter le script de migration

python3 run.py --project=MIGRATION_PROJECT_ID --user-project=USER_PROJECT_ID --buckets=BUCKET1,BUCKET2

Remplacez les éléments suivants :

  • USER_PROJECT_ID : ID du projet à migrer.

    MIGRATION_PROJECT_ID fait référence au projet source contenant les glossaires Data Catalog que vous souhaitez exporter. USER_PROJECT_ID correspond au projet utilisé pour la facturation et l'attribution de quotas pour les appels d'API générés par le script.

  • BUCKET1 et BUCKET2 : ID des bucket Cloud Storage à utiliser pour l'importation.

    Vous pouvez fournir un ou plusieurs buckets. Pour les arguments de bucket, fournissez une liste de noms de buckets séparés par une virgule, sans espace (par exemple, --buckets=bucket-one,bucket-two). Un mappage un à un entre les buckets et les glossaires n'est pas obligatoire. Le script exécute les tâches d'importation en parallèle, ce qui accélère la migration.

Si des problèmes d'autorisation empêchent le script de découvrir automatiquement vos ID d'organisation, utilisez l'indicateur --orgIds pour spécifier les organisations que le script peut utiliser pour rechercher les composants de données associés aux termes du glossaire.

Glossaires des champs d'application de la migration

Pour migrer uniquement des glossaires spécifiques, définissez leur portée en fournissant leurs URL respectives.

python3 run.py --project=MIGRATION_PROJECT_ID --user-project=USER_PROJECT_ID --buckets=BUCKET1,BUCKET2 --glossaries="GLOSSARY_URL1","GLOSSARY_URL2"

Remplacez GLOSSARY_URL1 (et GLOSSARY_URL2) par les URL des glossaires que vous migrez. Vous pouvez fournir une ou plusieurs URL de glossaire.

Lors de la migration, le nombre de tâches d'importation peut être inférieur au nombre de glossaires exportés. Cela se produit lorsque des glossaires vides qui ne nécessitent pas de tâche d'importation en arrière-plan sont créés directement.

Reprendre la migration en cas d'échec des tâches d'importation

La présence de fichiers après la migration indique que certaines tâches d'importation ont échoué. Pour reprendre la migration, exécutez la commande suivante :

python3 run.py --project=MIGRATION_PROJECT_ID --user-project=USER_PROJECT_ID --buckets=BUCKET1,BUCKET2 --resume-import

Si vous rencontrez des échecs, exécutez à nouveau la commande resume. Le script ne traite que les fichiers qui n'ont pas été importés et supprimés.

Le script applique des vérifications de dépendances pour les liens d'entrée et les liens inter-glossaires. Un fichier de lien d'entrée n'est importé que si son glossaire parent a été importé avec succès. De même, un lien entre des termes n'est importé que si tous les termes référencés ont été importés avec succès.

Résoudre les problèmes

Cette section fournit des solutions aux erreurs courantes.

  • Erreur "Autorisation refusée" / 403 : assurez-vous que l'utilisateur ou le compte de service dispose du rôle "Éditeur de catalogue Dataplex Universal" sur le projet de destination et du rôle "Lecteur de catalogue de données" sur le projet source.

  • ModuleNotFoundError : assurez-vous d'avoir activé votre environnement virtuel Python et installé les packages requis à l'aide de pip3 install -r requirements.txt.

  • TimeoutError / ssl.SSLError : ces erreurs au niveau du réseau peuvent être dues à des pare-feu, des proxys ou des connexions lentes. Le script a un délai d'expiration de cinq minutes. Si les problèmes persistent, vous devrez peut-être vérifier la configuration de votre réseau local.

  • Méthode introuvable (impossible de récupérer les entrées) : cette erreur indique souvent que votre projet utilisateur n'est pas autorisé à appeler l'API, ce qui empêche la récupération des entrées nécessaires.