En este documento se explica cómo migrar de la versión preliminar del glosario de empresa, que admitía metadatos de Data Catalog, a la versión disponible del glosario de empresa, que admite metadatos de Dataplex Universal Catalog. Para llevar a cabo el proceso de transición, debe exportar glosarios, categorías, términos y enlaces de Data Catalog y, a continuación, importarlos a Dataplex Universal Catalog.
Para cambiar al glosario de empresa en Dataplex Universal Catalog, sigue estos pasos:
- Exportar glosarios y enlaces de entradas de Data Catalog.
- Importa glosarios, categorías y términos a Dataplex Universal Catalog.
- Importa las vinculaciones entre términos a Dataplex Universal Catalog.
- Importa las vinculaciones entre términos y columnas a Dataplex Universal Catalog.
Antes de empezar
Instala gcloud o paquetes de Python.
Roles obligatorios
Para exportar un glosario de Data Catalog, debes tener el rol roles/datacatalog.glossaryOwner
en los proyectos en los que esté presente el glosario. Consulta los permisos necesarios para este rol.
Para obtener los permisos que necesitas para importar el glosario de empresa a Dataplex Universal Catalog, pide a tu administrador que te conceda el rol de gestión de identidades y accesos Administrador de Dataplex (roles/dataplex.admin
) en los proyectos.
Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar el acceso a proyectos, carpetas y organizaciones.
Este rol predefinido contiene los permisos necesarios para importar el glosario empresarial a Dataplex Universal Catalog. Para ver los permisos exactos que se necesitan, despliega la sección Permisos necesarios:
Permisos obligatorios
Para importar un glosario de empresa a Dataplex Universal Catalog, se necesitan los siguientes permisos:
-
dataplex.glossaries.import
en el recurso de glosario -
dataplex.entryGroups.import
en el grupo de entradas de Dataplex Universal Catalog proporcionado en el campoentry_groups
y en los grupos de entradas en los que se encuentran las entradas de Data Catalog vinculadas a los términos del glosario. -
dataplex.entryGroups.useSynonymEntryLink
en el grupo de entradas de Dataplex Universal Catalog proporcionado en el campoentry_groups
y en los grupos de entradas en los que se encuentran las entradas de Data Catalog vinculadas a los términos del glosario. -
dataplex.entryGroups.useRelatedEntryLink
en el grupo de entradas de Dataplex Universal Catalog proporcionado en el campoentry_groups
y en los grupos de entradas en los que se encuentran las entradas de Data Catalog vinculadas a los términos del glosario. -
dataplex.entryLinks.reference
en todos los proyectos proporcionados en el camporeferenced_entry_scopes
También puedes obtener estos permisos con roles personalizados u otros roles predefinidos.
Exportar glosarios, categorías y términos de Data Catalog
Solo puedes exportar un glosario a la vez.
Clona el repositorio dataplex-labs y, a continuación, cambia al subdirectorio
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
Obtén tu token de acceso:
export GCLOUD_ACCESS_TOKEN=$(gcloud auth print-access-token)
Ejecuta la secuencia de comandos de exportación:
python3 bg_import/business_glossary_export_v2.py \ --user-project="PROJECT_ID" \ --url="DATA_CATALOG_GLOSSARY_URL"
Haz los cambios siguientes:
PROJECT_ID
: el ID del proyecto que contiene el glosario.DATA_CATALOG_GLOSSARY_URL
: URL del glosario de empresa de Data Catalog en la consola.
La secuencia de comandos crea un archivo JSON con el mismo formato que el archivo de importación de metadatos que se usa en los trabajos de importación de metadatos. Los nombres del glosario, las categorías y los términos utilizan los siguientes formatos:
- Glosario:
projects/PROJECT_NUMBER/locations/LOCATION_ID/entryGroups/@dataplex/entries/projects/PROJECT_NUMBER/locations/LOCATION_ID/glossaries/GLOSSARY_ID
- Plazo:
projects/PROJECT_NUMBER/locations/LOCATION_ID/entryGroups/@dataplex/entries/projects/PROJECT_NUMBER/locations/LOCATION_ID/glossaries/GLOSSARY_ID/terms/TERM_ID
- Categoría:
projects/PROJECT_NUMBER/locations/LOCATION_ID/entryGroups/@dataplex/entries/projects/PROJECT_NUMBER/locations/LOCATION_ID/glossaries/GLOSSARY_ID/categories/CATEGORY_ID
GLOSSARY_ID
,CATEGORY_ID
,TERM_ID
,PROJECT_NUMBER
yLOCATION_ID
son los mismos valores que los del glosario de Data Catalog.
Importar glosarios, categorías y términos
Debes importar los glosarios, las categorías y los términos de Dataplex Universal Catalog que hayas exportado en el paso anterior. En esta sección se describe cómo importar datos mediante la API de trabajos de metadatos.
Crea un segmento de Cloud Storage y, a continuación, sube el archivo al segmento.
Ejecuta una tarea de importación de metadatos para importar el glosario.
# 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 )"
Haz los cambios siguientes:
JOB_ID
: (opcional) ID de un trabajo de importación de metadatos que puede usar para monitorizar el estado del trabajo. Si no proporcionas un ID, el comando gcurl generará un ID único.STORAGE_BUCKET
: el URI del segmento o la carpeta de Cloud Storage que contiene el archivo de glosario exportado.PROJECT_NUMBER
: el número de proyecto que contiene el glosario.
Opcional: Para hacer un seguimiento del estado del trabajo de importación de metadatos, utiliza el método
metadataJobs.get
:gcurl -X GET https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/global/metadataJobs/JOB_ID
Si se produce algún error en el trabajo de importación de metadatos, aparecerá en los registros.
Importar enlaces entre términos a Dataplex Universal Catalog
Debes importar los enlaces entre los términos exportados en el paso anterior. En esta sección se describe cómo importar datos mediante la API de tareas de metadatos.
Crea un segmento de Cloud Storage y sube a él el archivo de enlaces de entrada exportado en el paso anterior.
Ejecuta una tarea de importación de metadatos para importar los enlaces de entrada:
# 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 )"
Haz los cambios siguientes:
GLOSSARY_PROJECT_ID
: el ID del proyecto que contiene el glosario- Opcional:
LINKED_GLOSSARY_PROJECT_ID_1
: si los términos están vinculados en varios glosarios de diferentes proyectos, proporciona el ID del proyecto. - Opcional:
LINKED_GLOSSARY_PROJECT_ID_2
: si los términos están vinculados en varios glosarios de diferentes proyectos, proporciona el ID del proyecto.
Ten en cuenta lo siguiente:
- El objeto
entry_groups
contiene el grupo de entradas en el que se crean los enlaces de entrada. Este es el grupo de entradas del sistema@dataplex
en el mismo proyecto y ubicación que el glosario. El objeto
entry_link_types
te permite importar sinónimos, términos relacionados o ambos:- Sinónimos:
projects/dataplex-types/locations/global/entryLinkTypes/synonym
- Términos relacionados:
projects/dataplex-types/locations/global/entryLinkTypes/related
- Sinónimos:
El objeto
referenced_entry_scopes
incluye los IDs de proyecto de los enlaces de entrada que vinculan términos de diferentes glosarios.
Importar enlaces entre términos y columnas
Debes importar los enlaces entre los términos y las columnas que hayas exportado en el paso anterior. En esta sección se describe cómo importar mediante la API de tareas de metadatos.
Sube cada archivo exportado en el paso anterior a un segmento de Cloud Storage.
Ejecuta un comando de importación independiente para cada archivo subido al segmento de Cloud Storage. Cada archivo corresponde a un grupo de entrada único que contiene enlaces entre los términos y las columnas de ese grupo de entrada.
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 )"