Realiza la transición al glosario empresarial en Dataplex Universal Catalog

En este documento, se proporcionan instrucciones para migrar en un solo paso de la versión preliminar del glosario empresarial, que admitía metadatos de Data Catalog, a la versión disponible de forma general del glosario empresarial, que admite metadatos de Dataplex Universal Catalog.

Antes de comenzar

  1. Instala gcloud o paquetes de Python. Autentica tu cuenta de usuario y las credenciales predeterminadas de la aplicación (ADC) que usan las bibliotecas de Python. Ejecuta los siguientes comandos y sigue las instrucciones basadas en el navegador:

    gcloud init
    gcloud auth login
    gcloud auth application-default login
    
  2. Habilita las siguientes APIs:

  3. Crea uno o varios buckets de Cloud Storage en cualquiera de tus proyectos. Los buckets se usarán como ubicación temporal para los archivos de importación. Cuantos más buckets proporciones, más rápida será la importación. Otorga el rol de IAM de administrador de almacenamiento a la cuenta de servicio que ejecuta la migración:

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

    Reemplaza MIGRATION_PROJECT_ID por el proyecto desde el que migrarás los glosarios.

  4. Configura el repositorio:

    1. Clona el repositorio:

      git clone https://github.com/GoogleCloudPlatform/dataplex-labs.git
      cd dataplex-labs/dataplex-quickstart-labs/00-resources/scripts/python/business-glossary-import
      
    2. Instale los paquetes necesarios:

      pip3 install -r requirements.txt
      cd migration
      

Roles obligatorios

Ejecuta la secuencia de comandos de migración

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

Reemplaza lo siguiente:

  • USER_PROJECT_ID: Es el ID del proyecto que se migrará.

    El MIGRATION_PROJECT_ID hace referencia al proyecto de origen que contiene los glosarios de Data Catalog que deseas exportar. El USER_PROJECT_ID es el proyecto que se usa para la facturación y la atribución de cuotas de las llamadas a la API que genera la secuencia de comandos.

  • BUCKET1 y BUCKET2: Son los IDs de bucket de Cloud Storage que se usarán para la importación.

    Puedes proporcionar uno o más buckets. Para los argumentos de bucket, proporciona una lista separada por comas de nombres de bucket sin espacios (por ejemplo, --buckets=bucket-one,bucket-two). No se requiere una asignación uno a uno entre los buckets y los glosarios; la secuencia de comandos ejecuta los trabajos de importación en paralelo, lo que acelera la migración.

Si los problemas de permisos impiden que la secuencia de comandos descubra automáticamente los IDs de tu organización, usa la marca --orgIds para especificar las organizaciones que la secuencia de comandos puede usar para buscar activos de datos vinculados a términos del glosario.

Glosarios de alcance en la migración

Para migrar solo glosarios específicos, define su alcance proporcionando sus URLs respectivas.

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

Reemplaza GLOSSARY_URL1 (y GLOSSARY_URL2) por las URLs de los glosarios que migrarás. Puedes proporcionar una o más URLs de glosario.

Cuando se ejecuta la migración, la cantidad de trabajos de importación puede ser menor que la cantidad de glosarios exportados. Esto sucede cuando se crean directamente glosarios vacíos que no requieren un trabajo de importación en segundo plano.

Reanuda la migración para los errores de trabajos de importación

La presencia de archivos después de la migración indica que fallaron algunos trabajos de importación. Para reanudar la migración, ejecuta el siguiente comando:

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

Si se producen errores, vuelve a ejecutar el comando resume. La secuencia de comandos solo procesa los archivos que no se importaron ni borraron correctamente.

La secuencia de comandos aplica verificaciones de dependencia para los vínculos de entrada y los vínculos entre glosarios. Un archivo de vínculo de entrada solo se importa si su glosario principal se importó correctamente. Del mismo modo, un vínculo entre términos solo se importa si todos los términos a los que se hace referencia se importaron correctamente.

Solucionar problemas

En esta sección, se proporcionan soluciones para errores comunes.

  • Error 403 o de permiso denegado: Asegúrate de que el usuario o la cuenta de servicio tengan el rol de editor de Dataplex Universal Catalog en el proyecto de destino y el rol de visualizador de Data Catalog en el proyecto de origen.

  • ModuleNotFoundError: Asegúrate de haber activado tu entorno virtual de Python y de haber instalado los paquetes necesarios con pip3 install -r requirements.txt.

  • TimeoutError o ssl.SSLError: Estos errores a nivel de la red pueden deberse a firewalls, proxies o conexiones lentas. El script tiene un tiempo de espera de 5 minutos. Los problemas persistentes pueden requerir que verifiques la configuración de tu red local.

  • No se encontró el método (no se pueden recuperar las entradas): Este error suele indicar que tu proyecto de usuario no está en la lista de entidades permitidas para llamar a la API, lo que impide la recuperación de las entradas necesarias.