Passer au glossaire d'entreprise dans Dataplex Universal Catalog

Ce document explique comment migrer 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. Le processus de transition vous oblige à exporter les glossaires, les catégories, les termes et les liens depuis Data Catalog, puis à les importer dans Dataplex Universal Catalog.

Pour passer au glossaire d'entreprise dans Dataplex Universal Catalog, procédez comme suit :

  1. Exporter des glossaires, des catégories et des termes depuis Data Catalog.
  2. Importer des glossaires, des catégories et des termes dans Dataplex Universal Catalog
  3. Exporter les liens entre les termes de Data Catalog
  4. Importer des liens entre les termes dans Dataplex Universal Catalog
  5. Exporter les liens entre les termes et les colonnes de Data Catalog
  6. Importer des liens entre les termes et les colonnes vers Dataplex Universal Catalog.

Rôles requis

Pour exporter un glossaire depuis Data Catalog, vous devez disposer du rôle roles/datacatalog.glossaryOwner sur les projets dans lesquels le glossaire est présent. Consultez les autorisations requises pour ce rôle.

Pour obtenir les autorisations nécessaires pour importer un glossaire d'entreprise dans Dataplex Universal Catalog, demandez à votre administrateur de vous accorder le rôle IAM Administrateur Dataplex (roles/dataplex.admin) sur les projets. Pour en savoir plus sur l'attribution de rôles, consultez la page Gérer l'accès aux projets, aux dossiers et aux organisations.

Ce rôle prédéfini contient les autorisations requises pour importer un glossaire d'entreprise dans le catalogue universel Dataplex. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :

Autorisations requises

Les autorisations suivantes sont requises pour importer un glossaire d'entreprise dans le catalogue universel Dataplex :

  • dataplex.glossaries.import sur la ressource de glossaire
  • dataplex.entryGroups.import sur le groupe d'entrées Dataplex Universal Catalog fourni dans le champ entry_groups et sur les groupes d'entrées où se trouvent les entrées Data Catalog liées aux termes du glossaire
  • dataplex.entryGroups.useSynonymEntryLink sur le groupe d'entrées Dataplex Universal Catalog fourni dans le champ entry_groups et sur les groupes d'entrées où se trouvent les entrées Data Catalog liées aux termes du glossaire
  • dataplex.entryGroups.useRelatedEntryLink sur le groupe d'entrées Dataplex Universal Catalog fourni dans le champentry_groups et sur les groupes d'entrées où se trouvent les entrées Data Catalog associées aux termes du glossaire
  • dataplex.entryLinks.reference sur tous les projets fournis dans le champ referenced_entry_scopes

Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.

Exporter des glossaires, des catégories et des termes à partir de Data Catalog

Vous ne pouvez exporter qu'un glossaire à la fois.

  1. Clonez le dépôt dataplex-labs, puis accédez au sous-répertoire business-glossary-import :

    git clone https://github.com/GoogleCloudPlatform/dataplex-labs.git
    cd dataplex-labs
    cd dataplex-quickstart-labs/00-resources/scripts/python/business-glossary-import
    
  2. Obtenez votre jeton d'accès :

    export GCLOUD_ACCESS_TOKEN=$(gcloud auth print-access-token)
    
  3. Exécutez le script d'exportation :

    python3 bg_import/business_glossary_export_v2.py \
    --user-project="PROJECT_ID" \
    --url="DATA_CATALOG_GLOSSARY_URL" \
    --export-mode=glossary_only

    Remplacez les éléments suivants :

    • PROJECT_ID : ID du projet contenant le glossaire.
    • DATA_CATALOG_GLOSSARY_URL : URL du glossaire d'entreprise Data Catalog dans la console.

    Le script crée un fichier JSON qui suit le même format que le fichier d'importation de métadonnées utilisé pour les jobs d'importation de métadonnées. Les noms du glossaire, des catégories et des termes utilisent les formats suivants :

    • Glossaire : projects/PROJECT_NUMBER/locations/LOCATION_ID/entryGroups/@dataplex/entries/projects/PROJECT_NUMBER/locations/LOCATION_ID/glossaries/GLOSSARY_ID
    • Durée : projects/PROJECT_NUMBER/locations/LOCATION_ID/entryGroups/@dataplex/entries/projects/PROJECT_NUMBER/locations/LOCATION_ID/glossaries/GLOSSARY_ID/terms/TERM_ID
    • Catégorie : projects/PROJECT_NUMBER/locations/LOCATION_ID/entryGroups/@dataplex/entries/projects/PROJECT_NUMBER/locations/LOCATION_ID/glossaries/GLOSSARY_ID/categories/CATEGORY_ID

    GLOSSARY_ID, CATEGORY_ID, TERM_ID, PROJECT_NUMBER et LOCATION_ID sont identiques aux valeurs du glossaire Data Catalog.

Importer des glossaires, des catégories et des termes

Vous devez importer les glossaires, catégories et termes Dataplex Universal Catalog exportés à l'étape précédente. Cette section explique comment importer des métadonnées à l'aide de l'API des tâches de métadonnées.

  1. Créez un bucket Cloud Storage, puis importez le fichier dans le bucket.

  2. Accordez au compte de service Dataplex Universal Catalog l'accès en lecture au bucket Cloud Storage.

  3. Exécutez une tâche d'importation de métadonnées pour importer le glossaire.

    # Set GCURL alias
    alias gcurl='curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json"'
    
    # Import CURL Command
    gcurl https://dataplex.googleapis.com/v1/projects/PROJECT_NUMBER/locations/global/metadataJobs?metadata_job_id=JOB_ID -d "$(cat<<EOF
    {
    "type": "IMPORT",
    "import_spec": {
        "log_level": "DEBUG",
        "source_storage_uri": "gs://STORAGE_BUCKET/",
        "entry_sync_mode": "FULL",
        "aspect_sync_mode": "INCREMENTAL",
        "scope": {
            "glossaries": ["projects/PROJECT_NUMBER/locations/global/glossaries/GLOSSARY_ID"]
        }
    }
    }
    EOF
    )"

    Remplacez les éléments suivants :

    • JOB_ID : (facultatif) ID d'un job d'importation de métadonnées, que vous pouvez utiliser pour suivre l'état du job. Si vous ne fournissez pas d'ID, la commande gcurl génère un ID unique.
    • STORAGE_BUCKET : URI du bucket ou du dossier Cloud Storage contenant le fichier de glossaire exporté.
    • PROJECT_NUMBER : numéro du projet contenant le glossaire.
  4. Facultatif : Pour suivre l'état de l'importation des métadonnées, utilisez la méthode metadataJobs.get :

    gcurl -X GET https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/metadataJobs/JOB_ID

    Si des erreurs sont détectées dans la tâche d'importation des métadonnées, elles s'affichent dans les journaux.

Exporter les liens entre les termes depuis Data Catalog

  1. Clonez le dépôt dataplex-labs (si ce n'est pas déjà fait), puis accédez au sous-répertoire business-glossary-import :

    git clone https://github.com/GoogleCloudPlatform/dataplex-labs.git
    cd dataplex-labs
    cd dataplex-quickstart-labs/00-resources/scripts/python/business-glossary-import
    
  2. Obtenez votre jeton d'accès :

    export GCLOUD_ACCESS_TOKEN=$(gcloud auth print-access-token)
    
  3. Exécutez le code d'exportation :

    python3 bg_import/business_glossary_export_v2.py \
    --user-project=PROJECT_ID \
    --url="DATA_CATALOG_GLOSSARY_URL" \
    --export-mode=entry_links_only \
    --entrylinktype="related,synonym"

    Le script crée un fichier JSON contenant les synonymes et les liens associés entre les termes. Les fichiers exportés se trouvent dans le dossier Exported_Files de dataplex-quickstart-labs/00-resources/scripts/python/business-glossary-import. Le nom du fichier est entrylinks_relatedsynonymGLOSSARY_ID.json.

Importer des liens entre des termes vers Dataplex Universal Catalog

Vous devez importer les liens entre les termes exportés à l'étape précédente. Cette section explique comment importer des données à l'aide de l'API des tâches de métadonnées.

  1. Créez un bucket Cloud Storage, puis importez-y le fichier de liens vers les entrées exporté à l'étape précédente.

  2. Accordez au compte de service Dataplex Universal Catalog l'accès en lecture au bucket Cloud Storage.

  3. Exécutez un job d'importation de métadonnées pour importer les liens vers les entrées :

    # Import CURL Command
    gcurl https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/global/metadataJobs?metadata_job_id=JOB_ID -d "$(cat<<EOF
    {
    "type": "IMPORT",
    "import_spec": {
        "log_level": "DEBUG",
        "source_storage_uri": "gs://STORAGE_BUCKET/",
        "entry_sync_mode": "FULL",
        "aspect_sync_mode": "INCREMENTAL",
        "scope": {
            "entry_groups": ["projects/GLOSSARY_PROJECT_ID/locations/global/entryGroups/@dataplex"],
            "entry_link_types": ["projects/dataplex-types/locations/global/entryLinkTypes/synonym", "projects/dataplex-types/locations/global/entryLinkTypes/related"],
            "referenced_entry_scopes": [PROJECT_IDS]
        }
    }
    }
    EOF
    )"

    Remplacez les éléments suivants :

    • GLOSSARY_PROJECT_ID : ID du projet contenant le glossaire
    • PROJECT_IDS : si des termes sont associés à des glossaires dans différents projets, indiquez les ID des projets au format "projects/PROJECT_ID1", "projects/PROJECT_ID2".

    Veuillez noter les points suivants :

    • L'objet entry_groups contient le groupe d'entrées dans lequel les liens d'entrée sont créés. Il s'agit du groupe d'entrées système @dataplex dans le même projet et au même emplacement que le glossaire.
    • L'objet entry_link_types vous permet d'importer des synonymes, des termes associés ou les deux :

      • Synonymes : projects/dataplex-types/locations/global/entryLinkTypes/synonym
      • Termes associés : projects/dataplex-types/locations/global/entryLinkTypes/related
    • L'objet referenced_entry_scopes inclut les ID de projet des liens d'entrée qui associent des termes de différents glossaires.

Exporter les liens entre les termes et les colonnes

Après avoir exporté et importé les glossaires et les liens entre les termes, importez les liens entre les termes et les colonnes. Dans la commande suivante, le type de lien est défini sur "definition" pour exporter les liens entre les termes et les colonnes.

## Clone the repository and navigate to the directory
git clone https://github.com/GoogleCloudPlatform/dataplex-labs.git
cd dataplex-labs
cd dataplex-quickstart-labs/00-resources/scripts/python/business-glossary-import

export GCLOUD_ACCESS_TOKEN=$(gcloud auth print-access-token);

## Run the export code
python3 bg_import/business_glossary_export_v2.py \
 --user-project="PROJECT_ID" \
 --url="DATA_CATALOG_GLOSSARY_URL" \
 --export-mode=entry_links_only \
 --entrylinktype="definition"

Importer des liens entre les termes et les colonnes

Vous devez importer les liens entre les termes et les colonnes exportés à l'étape précédente. Cette section explique comment importer des données à l'aide de l'API des tâches de métadonnées.

  1. Importez chaque fichier exporté à l'étape précédente dans un bucket Cloud Storage, comme décrit à l'étape 2.

  2. Exécutez une commande d'importation distincte pour chaque fichier importé dans le bucket Cloud Storage. Chaque fichier correspond à un groupe d'entrées unique contenant des liens entre les termes et les colonnes de ce groupe d'entrées.

# Set GCURL alias
alias gcurl='curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json"'

# Import CURL Command
gcurl https://dataplex.googleapis.com/v1/projects/ENTRY_GROUP_PROJECT_ID/locations/ENTRY_GROUP_LOCATION_ID
{
   "type":"IMPORT",
   "import_spec":{
      "log_level":"DEBUG",
      "source_storage_uri":"gs://STORAGE_BUCKET/",
      "entry_sync_mode":"FULL",
      "aspect_sync_mode":"INCREMENTAL",
      "scope":{
         "entry_groups":[
            "projects/ENTRY_GROUP_PROJECT_ID/locations/ENTRY_GROUP_LOCATION_ID/entryGroups/ENTRY_GROUP_ID"
         ],
         "entry_link_types":[
            "projects/dataplex-types/locations/global/entryLinkTypes/definition",
         ],
         "referenced_entry_scopes":[
            PROJECT_IDS
         ]
      }
   }
}
EOF
)"

Étapes suivantes