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
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 loginAbilita le seguenti API:
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_IDcon il progetto da cui stai eseguendo la migrazione dei glossari.Configura il repository:
Clona il repository:
git clone https://github.com/GoogleCloudPlatform/dataplex-labs.git cd dataplex-labs/dataplex-quickstart-labs/00-resources/scripts/python/business-glossary-importInstalla 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:
-
Data Catalog Glossary Owner (
roles/datacatalog.glossaryOwner) sul tuo progetto -
Dataplex Administrator (
roles/dataplex.admin) sul tuo progetto
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:
-
sul progetto da cui esegui la migrazione dei glossaridatacatalog.glossaries.get -
sul progetto da cui esegui la migrazione dei glossaridatacatalog.glossaries.list -
sul progetto in cui vengono creati i glossari in Dataplex Universal Catalogdataplex.glossaries.create -
sul progetto in cui i glossari verranno aggiornati in Dataplex Universal Catalogdataplex.glossaries.update
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_IDsi 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.BUCKET1eBUCKET2: 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.