Ce document explique comment utiliser l'utilitaire d'importation de glossaires pour importer en masse des glossaires, des catégories et des termes depuis une feuille de calcul Google Sheet vers Knowledge Catalog (anciennement Dataplex Universal Catalog).
L'utilitaire glossary_import analyse et valide les données d'une feuille de calcul Google Sheet, les convertit dans un format compatible avec l'API CreateMetadataJob Knowledge Catalog et les importe dans un bucket Cloud Storage avant de déclencher le job d'importation.
Avant de commencer
Avant d'importer des glossaires, remplissez les conditions préalables suivantes.
Configurer le compte de service
Pour exécuter l'utilitaire d'importation à l'aide d'une feuille de calcul Google Sheet, vous devez configurer un compte de service disposant des autorisations nécessaires pour accéder à l'API Google Sheets et emprunter l'identité de vos identifiants utilisateur :
Identifiez ou créez un compte de service.
Sélectionnez un compte de service existant ou créez-en un dans le projet dans lequel vous exécutez l'utilitaire d'importation. Pour en savoir plus, consultez Créer des comptes de service. Notez l'adresse e-mail du compte de service (par exemple,
SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com).Configurez l'emprunt d'identité d'un compte de service.
Pour exécuter le script de l'utilitaire d'importation en local, votre compte utilisateur doit être autorisé à emprunter l'identité du compte de service. Attribuez à votre compte utilisateur le rôle Créateur de jetons du compte de service (
roles/iam.serviceAccountTokenCreator) sur le compte de service.Pour en savoir plus, consultez Gérer l'accès aux comptes de service.
Accordez au compte de service
Editorl'accès à la Google Sheet.Ouvrez la feuille de calcul Google Sheet que vous souhaitez utiliser pour l'importation, cliquez sur Partager, puis ajoutez l'adresse e-mail du compte de service en tant que
Editor. Cette autorisation permet au compte de service de lire ou d'écrire des données dans votre feuille.
Créer un bucket Cloud Storage
Créez un bucket Cloud Storage qui servira de zone de préparation pour les fichiers d'importation.
Rôles requis
Pour vous assurer que le compte de service dispose des autorisations nécessaires pour importer des glossaires à partir d'une feuille de calcul Google Sheet, demandez à votre administrateur d'accorder les rôles IAM suivants au compte de service :
- Administrateur Dataplex (
roles/dataplex.admin) sur le projet - Administrateur de catalogue Dataplex (
roles/dataplex.catalogAdmin) sur le projet - Éditeur de catalogue Dataplex (
roles/dataplex.catalogEditor) sur le projet - Administrateur des objets Storage (
roles/storage.objectAdmin) sur le bucket Cloud Storage
Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.
Votre administrateur peut également attribuer au compte de service les autorisations requises à l'aide de rôles personnalisés ou d'autres rôles prédéfinis.
Activer les API
Pour importer des glossaires, activez les API suivantes dans votre projet :
Rôles requis pour activer les API
Pour activer les API, vous avez besoin du rôle IAM Administrateur Service Usage (roles/serviceusage.serviceUsageAdmin), qui contient l'autorisation serviceusage.services.enable. Découvrez comment attribuer des rôles.
Configurer le dépôt Git
Clonez le dépôt dataplex-labs :
git clone https://github.com/GoogleCloudPlatform/dataplex-labs.git cd dataplex-labs/dataplex-quickstart-labs/00-resources/scripts/python/business-glossary-import/dataplex-glossary/import
Installer des dépendances
Installez les dépendances Python requises :
pip3 install -r requirements.txt
Si vous rencontrez des problèmes lors de l'installation du package, configurez un nouvel environnement de développement Python.
S'authentifier et configurer l'emprunt d'identité d'un compte de service
Initialisez la Google Cloud CLI et authentifiez-vous à l'aide des identifiants par défaut de l'application (ADC) avec l'emprunt d'identité d'un compte de service :
# Set your service account email address SA_EMAIL="SERVICE_ACCOUNT_EMAIL" # Authenticate ADC using service account impersonation and required scopes gcloud auth application-default login \ --impersonate-service-account="${SA_EMAIL}" \ --scopes="https://www.googleapis.com/auth/spreadsheets"
Remplacez SERVICE_ACCOUNT_EMAIL par l'adresse e-mail du compte de service. Exemple :
SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
Créer et structurer la Google Sheet à importer
Pour exécuter correctement une importation groupée, vous devez créer une Google Sheet en utilisant un schéma de colonne précis. L'utilitaire d'importation pourra ainsi analyser et valider correctement vos champs de métadonnées. Assurez-vous d'avoir accordé au compte de service Editor l'accès à la Google Sheet.
La première ligne de la feuille doit contenir les en-têtes de schéma suivants, qui sont sensibles à la casse :
| Champ | Obligatoire ou facultatif | Description |
|---|---|---|
id |
Obligatoire | Identifiant unique du terme ou de la catégorie dans le glossaire. |
parent |
Facultatif | ID de la catégorie parente. Si elle est vide, l'élément est un enfant de premier niveau du glossaire. Notez que l'ID parent référencé doit exister dans la feuille et appartenir à une catégorie. |
display_name |
Obligatoire | Nom à afficher du terme ou de la catégorie. |
description |
Facultatif | Brève description du terme ou de la catégorie. |
overview |
Facultatif | Description en texte enrichi du terme ou de la catégorie (compatible avec les balises HTML). |
type |
Obligatoire | Type de ligne. Les valeurs valides sont TERM ou CATEGORY. |
contact1_email |
Facultatif | Adresse e-mail du responsable des données principal pour le terme ou la catégorie. |
contact1_name |
Facultatif | Nom du responsable principal des données pour le terme ou la catégorie. |
contact2_email |
Facultatif | Adresse e-mail du responsable des données secondaire pour le terme ou la catégorie. |
contact2_name |
Facultatif | Nom du responsable secondaire des données pour le terme ou la catégorie. |
label1_key |
Facultatif | Clé de la première étiquette attribuée. |
label1_value |
Facultatif | Valeur du premier libellé attribué. |
label2_key |
Facultatif | Clé du deuxième libellé attribué. |
label2_value |
Facultatif | Valeur du deuxième libellé attribué. |
Importer un glossaire depuis la Google Sheet
Après avoir configuré votre environnement et préparé votre Google Sheet, exécutez le script glossary_import.py :
python3 bg_import/dataplex-glossary/glossary_import.py
L'utilitaire d'importation affiche le résultat de l'exécution de l'API CreateMetadataJob directement dans votre terminal. Vérifiez que l'état du job indique qu'il a réussi.
Vous pouvez consulter les journaux d'exécution dans le répertoire logs/ de votre chemin d'exécution local. Ces journaux vous aident à auditer le processus de transfert et à identifier les entrées ignorées ou les avertissements de mise en forme.
Étapes suivantes
- Découvrez comment gérer un glossaire d'entreprise.
- Découvrez comment importer des glossaires à l'aide de fichiers JSON.
- Découvrez comment exporter des glossaires vers une feuille de calcul Google Sheets.
- En savoir plus sur la gestion des métadonnées