Transizione al glossario aziendale in Dataplex Universal Catalog

Questo documento fornisce istruzioni per la migrazione in un unico passaggio dalla versione di anteprima del glossario aziendale, che supportava i metadati di Data Catalog, alla versione disponibile a livello generale del glossario aziendale in Dataplex Universal Catalog. La migrazione alla versione disponibile a livello generale consente di utilizzare le funzionalità avanzate e l'integrazione più profonda con i metadati di Dataplex Universal Catalog, offrendo maggiore stabilità, nuove funzionalità e supporto completo per la produzione. Questa procedura aggiorna automaticamente i glossari per supportare i metadati di Dataplex Universal Catalog.

Prima di iniziare

  1. Installa gcloud o i pacchetti Python. Autentica il tuo account utente e le Credenziali predefinite dell'applicazione (ADC) utilizzate dalle librerie Python. Esegui questi comandi e segui le istruzioni basate sul browser:

    gcloud init
    gcloud auth login
    gcloud auth application-default login
    
  2. Abilita le seguenti API:

  3. Crea uno o più bucket Cloud Storage in uno qualsiasi dei tuoi progetti. I bucket verranno utilizzati come posizione temporanea per i file di importazione. Più bucket fornisci, più veloce è l'importazione. Concedi il ruolo IAM Amministratore di Storage all'account di servizio che esegue la migrazione:

    service-MIGRATION_PROJECT_ID@gcp-sa-dataplex.iam.gserviceaccount.com

    Sostituisci MIGRATION_PROJECT_ID con il progetto da cui stai eseguendo la migrazione dei glossari.

  4. Configura il repository:

    1. Clona il repository:

      git clone https://github.com/GoogleCloudPlatform/dataplex-labs.git
      cd dataplex-labs/dataplex-quickstart-labs/00-resources/scripts/python/business-glossary-import
      
    2. Installa i pacchetti richiesti:

      pip3 install -r requirements.txt
      cd migration
      

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per eseguire la migrazione dei glossari da Data Catalog a Dataplex Universal Catalog, chiedi all'amministratore di concederti i seguenti ruoli IAM:

Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

Questi ruoli predefiniti contengono le autorizzazioni necessarie per eseguire la migrazione dei glossari da Data Catalog a Dataplex Universal Catalog. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:

Autorizzazioni obbligatorie

Per eseguire la migrazione dei glossari da Data Catalog a Dataplex Universal Catalog sono necessarie le seguenti autorizzazioni:

  • datacatalog.glossaries.get sul progetto da cui esegui la migrazione dei glossari
  • datacatalog.glossaries.list sul progetto da cui esegui la migrazione dei glossari
  • dataplex.glossaries.create sul progetto in cui vengono creati i glossari in Dataplex Universal Catalog
  • dataplex.glossaries.update sul progetto in cui i glossari verranno aggiornati in Dataplex Universal Catalog

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

Per saperne di più su Identity and Access Management (IAM) di Dataplex Universal Catalog, consulta Controllo dell'accesso con IAM.

Esegui lo script di migrazione

python3 run.py --project=MIGRATION_PROJECT_ID --user-project=USER_PROJECT_ID --buckets=BUCKET1,BUCKET2

Sostituisci quanto segue:

  • USER_PROJECT_ID: l'ID progetto del progetto da migrare.

    MIGRATION_PROJECT_ID si riferisce al progetto di origine contenente i glossari Data Catalog che vuoi esportare. USER_PROJECT_ID è il progetto utilizzato per l'attribuzione di fatturazione e quote per le chiamate API generate dallo script.

  • BUCKET1 e BUCKET2: gli ID dei bucket Cloud Storage da utilizzare per l'importazione.

    Puoi fornire uno o più bucket. Per gli argomenti del bucket, fornisci un elenco separato da virgole di nomi di bucket senza spazi (ad esempio, --buckets=bucket-one,bucket-two). Non è richiesto un mapping uno a uno tra bucket e glossari; lo script esegue i job di importazione in parallelo, velocizzando la migrazione.

Se i problemi di autorizzazione impediscono allo script di rilevare automaticamente gli ID organizzazione, utilizza il flag --orgIds per specificare le organizzazioni che lo script può utilizzare per cercare gli asset di dati collegati ai termini del glossario.

Glossari nell'ambito della migrazione

Per eseguire la migrazione solo di glossari specifici, definisci il loro ambito fornendo i rispettivi URL.

python3 run.py --project=MIGRATION_PROJECT_ID --user-project=USER_PROJECT_ID --buckets=BUCKET1,BUCKET2 --glossaries="GLOSSARY_URL1","GLOSSARY_URL2"

Sostituisci GLOSSARY_URL1 (e GLOSSARY_URL2) con gli URL dei glossari che stai migrando. Puoi fornire uno o più URL del glossario.

Quando viene eseguita la migrazione, il numero di job di importazione può essere inferiore al numero di glossari esportati. Ciò si verifica quando vengono creati direttamente glossari vuoti che non richiedono un job di importazione in background.

Riprendere la migrazione per gli errori del job di importazione

La presenza di file dopo la migrazione indica che alcuni job di importazione non sono riusciti. Per riprendere la migrazione, esegui questo comando:

python3 run.py --project=MIGRATION_PROJECT_ID --user-project=USER_PROJECT_ID --buckets=BUCKET1,BUCKET2 --resume-import

Se si verificano errori, esegui di nuovo il comando resume. Lo script elabora solo i file che non sono stati importati ed eliminati correttamente.

Lo script applica i controlli delle dipendenze per i link di ingresso e i link tra glossari. Un file di link di voce viene importato solo se il glossario principale è stato importato correttamente. Allo stesso modo, un collegamento tra i termini viene importato solo se tutti i termini a cui viene fatto riferimento sono stati importati correttamente.

Risoluzione dei problemi

Questa sezione fornisce soluzioni agli errori comuni.

  • Autorizzazione negata / errore 403: assicurati che l'utente o il account di servizio disponga del ruolo Editor di Dataplex Universal Catalog nel progetto di destinazione e del ruolo Visualizzatore Data Catalog nel progetto di origine.

  • ModuleNotFoundError: assicurati di aver attivato l'ambiente virtuale Python e di aver installato i pacchetti richiesti utilizzando pip3 install -r requirements.txt.

  • TimeoutError / ssl.SSLError: questi errori a livello di rete potrebbero essere causati da firewall, proxy o connessioni lente. Lo script ha un timeout di 5 minuti. I problemi persistenti potrebbero richiedere il controllo della configurazione della rete locale.

  • Metodo non trovato (Impossibile recuperare le voci): questo errore spesso indica che il tuo progetto utente non è incluso nella lista consentita per chiamare l'API, impedendo il recupero delle voci necessarie.