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, categorie e termini da Data Catalog.
  2. Importa glossari, categorie e termini in Dataplex Universal Catalog.
  3. Esporta i link tra i termini da Data Catalog.
  4. Importa i link tra i termini in Dataplex Universal Catalog.
  5. Esporta i link tra termini e colonne da Data Catalog.
  6. Importa i link tra termini e colonne in Dataplex Universal Catalog.

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" \
    --export-mode=glossary_only

    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 -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 job di importazione dei metadati, che puoi utilizzare per monitorare lo stato del job. 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/LOCATION_ID/metadataJobs/JOB_ID

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

Esportare i link tra i termini da Data Catalog

  1. Clona il repository dataplex-labs (se non l'hai già fatto), quindi cambia directory passando alla 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 il codice di esportazione:

    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"

    Lo script crea un file JSON contenente i sinonimi e i link correlati tra i termini. I file esportati si trovano nella cartella Exported_Files in dataplex-quickstart-labs/00-resources/scripts/python/business-glossary-import. Il nome del file è entrylinks_relatedsynonymGLOSSARY_ID.json.

Importa i link tra i termini in Dataplex Universal Catalog

Devi importare i collegamenti 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, quindi 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 alle voci:

    # 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
    )"

    Sostituisci quanto segue:

    • GLOSSARY_PROJECT_ID: l'ID del progetto che contiene il glossario
    • PROJECT_IDS: se i termini sono collegati tra glossari in progetti diversi, fornisci gli ID dei progetti nel formato "projects/PROJECT_ID1", "projects/PROJECT_ID2"

    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 i termini di glossari diversi.

Esportare i collegamenti tra termini e colonne

Dopo aver esportato e importato i glossari e i collegamenti tra i termini, procedi con l'importazione dei collegamenti tra i termini e le colonne. Nel comando seguente, il tipo di link è impostato su definizione per esportare i link tra termini e colonne.

## 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"

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 come descritto nel passaggio 2.

  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.

# 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
)"

Passaggi successivi