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
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 loginActivez les API suivantes :
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_IDpar le projet à partir duquel vous migrez les glossaires.Configurez le dépôt :
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-importInstallez 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_IDfait référence au projet source contenant les glossaires Data Catalog que vous souhaitez exporter.USER_PROJECT_IDcorrespond au projet utilisé pour la facturation et l'attribution de quotas pour les appels d'API générés par le script.BUCKET1etBUCKET2: 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.