Transizione al glossario aziendale in Dataplex Universal Catalog

Questo documento fornisce istruzioni per la migrazione dalla versione di anteprima del glossario aziendale, che supportava i metadati di Data Catalog, alla versione disponibile a livello generale del glossario aziendale, che supporta i metadati di Dataplex Universal Catalog. La procedura di transizione richiede l'esportazione di glossari, categorie, termini e link da Data Catalog e la loro importazione in Dataplex Universal Catalog.

Per eseguire la transizione al glossario aziendale su Dataplex Universal Catalog, segui questi passaggi:

  1. Esporta glossari e link alle voci da Data Catalog.
  2. Importa glossari, categorie e termini in Dataplex Universal Catalog.
  3. Importa i link tra i termini in Dataplex Universal Catalog.
  4. Importa i link tra termini e colonne in Dataplex Universal Catalog.

Prima di iniziare

Installa gcloud o i pacchetti Python.

Ruoli obbligatori

Per esportare un glossario da Data Catalog, devi disporre del ruolo roles/datacatalog.glossaryOwner nei progetti in cui è presente il glossario. Consulta le autorizzazioni richieste per questo ruolo.

Per ottenere le autorizzazioni necessarie per importare il glossario aziendale in Dataplex Universal Catalog, chiedi all'amministratore di concederti il ruolo IAM Amministratore Dataplex (roles/dataplex.admin) nei progetti. Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

Questo ruolo predefinito contiene le autorizzazioni necessarie per importare il glossario aziendale in Dataplex Universal Catalog. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:

Autorizzazioni obbligatorie

Per importare il glossario aziendale in Dataplex Universal Catalog sono necessarie le seguenti autorizzazioni:

  • dataplex.glossaries.import nella risorsa del glossario
  • dataplex.entryGroups.import nel gruppo di voci di Dataplex Universal Catalog fornito nel campo entry_groups e nei gruppi di voci in cui sono presenti le voci di Data Catalog collegate ai termini del glossario
  • dataplex.entryGroups.useSynonymEntryLink nel gruppo di voci di Dataplex Universal Catalog fornito nel campo entry_groups e nei gruppi di voci in cui sono presenti le voci di Data Catalog collegate ai termini del glossario
  • dataplex.entryGroups.useRelatedEntryLink nel gruppo di voci di Dataplex Universal Catalog fornito nel campoentry_groups e nei gruppi di voci in cui sono presenti le voci di Data Catalog collegate ai termini del glossario
  • dataplex.entryLinks.reference su tutti i progetti forniti nel campo referenced_entry_scopes

Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.

Esportare glossari, categorie e termini da Data Catalog

Puoi esportare un glossario alla volta.

  1. Clona il repository dataplex-labs e poi cambia directory impostandola sulla sottodirectory 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. Ottieni il token di accesso:

    export GCLOUD_ACCESS_TOKEN=$(gcloud auth print-access-token)
    
  3. Esegui lo script di esportazione:

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

    Sostituisci quanto segue:

    • PROJECT_ID: l'ID del progetto che contiene il glossario.
    • DATA_CATALOG_GLOSSARY_URL: l'URL del glossario aziendale di Data Catalog nella console.

    Lo script crea un file JSON che segue lo stesso formato del file di importazione dei metadati utilizzato per i job di importazione dei metadati. I nomi del glossario, delle categorie e dei termini utilizzano i seguenti formati:

    • Glossario: projects/PROJECT_NUMBER/locations/LOCATION_ID/entryGroups/@dataplex/entries/projects/PROJECT_NUMBER/locations/LOCATION_ID/glossaries/GLOSSARY_ID
    • Termine: projects/PROJECT_NUMBER/locations/LOCATION_ID/entryGroups/@dataplex/entries/projects/PROJECT_NUMBER/locations/LOCATION_ID/glossaries/GLOSSARY_ID/terms/TERM_ID
    • Categoria: projects/PROJECT_NUMBER/locations/LOCATION_ID/entryGroups/@dataplex/entries/projects/PROJECT_NUMBER/locations/LOCATION_ID/glossaries/GLOSSARY_ID/categories/CATEGORY_ID

    Dove GLOSSARY_ID, CATEGORY_ID, TERM_ID, PROJECT_NUMBER e LOCATION_ID sono gli stessi valori del glossario di Data Catalog.

Importare glossari, categorie e termini

Devi importare i glossari, le categorie e i termini di Dataplex Universal Catalog esportati nel passaggio precedente. Questa sezione descrive come importare utilizzando l'API per i job di metadati.

  1. Crea un bucket Cloud Storage e poi carica il file nel bucket.

  2. Concedi all'account di servizio Dataplex Universal Catalog l'accesso in lettura al bucket Cloud Storage.

  3. Esegui un job di importazione dei metadati per importare il glossario.

    # 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" -X POST -H "Content-Type: application/json" -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
    )"

    Sostituisci quanto segue:

    • JOB_ID: (facoltativo) un ID processo di importazione dei metadati, che puoi utilizzare per monitorare lo stato del processo. Se non fornisci un ID, il comando gcurl genera un ID univoco.
    • STORAGE_BUCKET: l'URI del bucket o della cartella Cloud Storage che contiene il file del glossario esportato.
    • PROJECT_NUMBER: il numero di progetto che contiene il glossario.
  4. (Facoltativo) Per monitorare lo stato del job di importazione dei metadati, utilizza il metodo metadataJobs.get:

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

    Se si verificano errori nel job di importazione dei metadati, questi vengono visualizzati nei log.

Importa i link tra i termini in Dataplex Universal Catalog

Devi importare i link tra i termini esportati nel passaggio precedente. Questa sezione descrive come importare utilizzando l'API per i job di metadati.

  1. Crea un nuovo bucket Cloud Storage e poi carica il file dei link alle voci esportato dal passaggio precedente nel bucket.

  2. Concedi all'account di servizio Dataplex Universal Catalog l'accesso in lettura al bucket Cloud Storage.

  3. Esegui un job di importazione dei metadati per importare i link delle voci:

    # Import CURL Command
    gcurl "https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/global/metadataJobs?metadata_job_id=JOB_ID" -X POST -H "Content-Type: application/json" -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": ["projects/GLOSSARY_PROJECT_ID","projects/LINKED_GLOSSARY_PROJECT_ID_1","projects/LINKED_GLOSSARY_PROJECT_ID_2"]
      }
    }
    }
    EOF
    )"

    Sostituisci quanto segue:

    • GLOSSARY_PROJECT_ID: l'ID del progetto che contiene il glossario
    • (Facoltativo) LINKED_GLOSSARY_PROJECT_ID_1: se i termini sono collegati tra glossari in progetti diversi, fornisci l'ID del progetto
    • (Facoltativo) LINKED_GLOSSARY_PROJECT_ID_2: se i termini sono collegati tra glossari in progetti diversi, fornisci l'ID del progetto

    Tieni presente quanto segue:

    • L'oggetto entry_groups contiene il gruppo di voci in cui vengono creati i link alle voci. Questo è il gruppo di voci di sistema @dataplex nello stesso progetto e nella stessa località del glossario.
    • L'oggetto entry_link_types consente di importare sinonimi, termini correlati o entrambi:

      • Sinonimi: projects/dataplex-types/locations/global/entryLinkTypes/synonym
      • Termini correlati: projects/dataplex-types/locations/global/entryLinkTypes/related
    • L'oggetto referenced_entry_scopes include gli ID progetto dei link di entrata che collegano termini di glossari diversi.

Importare i collegamenti tra termini e colonne

Devi importare i collegamenti tra i termini e le colonne esportati nel passaggio precedente. Questa sezione descrive come importare utilizzando l'API per i job di metadati.

  1. Carica ogni file esportato nel passaggio precedente in un bucket Cloud Storage.

  2. Esegui un comando di importazione separato per ogni file caricato nel bucket Cloud Storage. Ogni file corrisponde a un gruppo di voci univoco contenente i collegamenti tra i termini e le colonne di quel gruppo di voci.

gcurl "https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/ENTRY_GROUP_LOCATION_ID/metadataJobs?metadata_job_id=JOB_ID" -X POST -H "Content-Type: application/json" -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/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": ["projects/ENTRY_GROUP_PROJECT_ID", "projects/GLOSSARY_PROJECT_ID"]
    }
}
}
EOF
)"

Passaggi successivi