Este documento fornece instruções para migrar da versão de prévia do glossário de negócios, que aceitava metadados do Data Catalog, para a versão de disponibilidade geral, que aceita metadados do Dataplex Universal Catalog. O processo de transição exige que você exporte glossários, categorias, termos e links do Data Catalog e os importe para o Dataplex Universal Catalog.
Para fazer a transição para o glossário de negócios no Dataplex Universal Catalog, siga estas etapas:
- Exportar glossários, categorias e termos do Data Catalog.
- Importe glossários, categorias e termos para o Dataplex Universal Catalog.
- Exportar links entre termos do Data Catalog.
- Importar links entre termos para o Dataplex Universal Catalog.
- Exportar links entre termos e colunas do Data Catalog.
- Importar links entre termos e colunas para o Dataplex Universal Catalog.
Funções exigidas
Para exportar um glossário do Data Catalog, você precisa ter o papel
roles/datacatalog.glossaryOwner
nos projetos em que ele está
presente. Consulte as permissões necessárias para essa função.
Para receber as permissões necessárias para importar o glossário de negócios para o Dataplex Universal Catalog,
peça ao administrador para conceder a você o papel do IAM de
Administrador do Dataplex (roles/dataplex.admin
)
nos projetos.
Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.
Esse papel predefinido contém as permissões necessárias para importar o glossário de negócios para o Catálogo universal do Dataplex. Para conferir as permissões exatas necessárias, expanda a seção Permissões necessárias:
Permissões necessárias
As seguintes permissões são necessárias para importar o glossário de negócios para o Dataplex Universal Catalog:
-
dataplex.glossaries.import
no recurso de glossário -
dataplex.entryGroups.import
no grupo de entrada do Dataplex Universal Catalog fornecido no campoentry_groups
e nos grupos de entrada em que as entradas do Data Catalog estão presentes e vinculadas aos termos do glossário -
dataplex.entryGroups.useSynonymEntryLink
no grupo de entrada do Dataplex Universal Catalog fornecido no campoentry_groups
e nos grupos de entrada em que as entradas do Data Catalog estão presentes e vinculadas aos termos do glossário -
dataplex.entryGroups.useRelatedEntryLink
no grupo de entrada do Dataplex Universal Catalog fornecido no campoentry_groups
e nos grupos de entrada em que as entradas do Data Catalog estão presentes e vinculadas aos termos do glossário -
dataplex.entryLinks.reference
em todos os projetos fornecidos no camporeferenced_entry_scopes
Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.
Exportar glossários, categorias e termos do Data Catalog
É possível exportar um glossário por vez.
Clone o repositório dataplex-labs e mude os diretórios para o subdiretório
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
Receba seu token de acesso:
export GCLOUD_ACCESS_TOKEN=$(gcloud auth print-access-token)
Execute o script de exportação:
python3 bg_import/business_glossary_export_v2.py \ --user-project="PROJECT_ID" \ --url="DATA_CATALOG_GLOSSARY_URL" \ --export-mode=glossary_only
Substitua:
PROJECT_ID
: o ID do projeto que contém o glossário.DATA_CATALOG_GLOSSARY_URL
: o URL do glossário de negócios do Data Catalog no console.
O script cria um arquivo JSON que segue o mesmo formato do arquivo de importação de metadados usado para jobs de importação de metadados. Os nomes do glossário, das categorias e dos termos usam os seguintes formatos:
- Glossário:
projects/PROJECT_NUMBER/locations/LOCATION_ID/entryGroups/@dataplex/entries/projects/PROJECT_NUMBER/locations/LOCATION_ID/glossaries/GLOSSARY_ID
- Período:
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
Em que
GLOSSARY_ID
,CATEGORY_ID
,TERM_ID
,PROJECT_NUMBER
eLOCATION_ID
são os mesmos valores do glossário do Data Catalog.
Importar glossários, categorias e termos
É necessário importar os glossários, as categorias e os termos do Dataplex Universal Catalog exportados na etapa anterior. Nesta seção, descrevemos como importar usando a API de job de metadados.
Crie um bucket do Cloud Storage e faça upload do arquivo para ele.
Execute um job de importação de metadados para importar o glossário.
# 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 )"
Substitua:
JOB_ID
: (opcional) um ID de job de importação de metadados, que pode ser usado para acompanhar o status do job. Se você não fornecer um ID, o comando gcurl vai gerar um ID exclusivo.STORAGE_BUCKET
: o URI do bucket ou da pasta do Cloud Storage que contém o arquivo de glossário exportado.PROJECT_NUMBER
: o número do projeto que contém o glossário.
Opcional: para acompanhar o status do job de importação de metadados, use o método
metadataJobs.get
:gcurl -X GET https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/metadataJobs/JOB_ID
Se houver erros no job de importação de metadados, eles vão aparecer nos registros.
Exportar links entre termos do Data Catalog
Clone o repositório dataplex-labs (se ainda não tiver feito isso) e mude os diretórios para o subdiretório
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
Receba seu token de acesso:
export GCLOUD_ACCESS_TOKEN=$(gcloud auth print-access-token)
Execute o código de exportação:
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"
O script cria um arquivo JSON que contém os sinônimos e links relacionados entre os termos. Os arquivos exportados estão na pasta
Exported_Files
emdataplex-quickstart-labs/00-resources/scripts/python/business-glossary-import
. O nome do arquivo éentrylinks_relatedsynonymGLOSSARY_ID.json
.
Importar links entre termos para o Dataplex Universal Catalog
É necessário importar os links entre os termos exportados na etapa anterior. Esta seção descreve como importar usando a API de job de metadados.
Crie um bucket do Cloud Storage e faça upload do arquivo de links de entrada exportado da etapa anterior.
Execute um job de importação de metadados para importar os links de entrada:
# 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 )"
Substitua:
GLOSSARY_PROJECT_ID
: o ID do projeto que contém o glossárioPROJECT_IDS
: se os termos estiverem vinculados em glossários de projetos diferentes, forneça os IDs dos projetos no formato"projects/PROJECT_ID1", "projects/PROJECT_ID2"
Observe o seguinte:
- O objeto
entry_groups
contém o grupo de entradas em que os vínculos de entrada são criados. Esse é o grupo de entrada do sistema@dataplex
no mesmo projeto e local que o glossário. O objeto
entry_link_types
permite importar sinônimos, termos relacionados ou ambos:- Sinônimos:
projects/dataplex-types/locations/global/entryLinkTypes/synonym
- Termos relacionados:
projects/dataplex-types/locations/global/entryLinkTypes/related
- Sinônimos:
O objeto
referenced_entry_scopes
inclui os IDs de projeto dos links de entrada que vinculam termos de diferentes glossários.
Exportar links entre termos e colunas
Depois de exportar e importar os glossários e os links entre termos, importe os links entre termos e colunas. No comando a seguir, o tipo de link é definido como "definition" para exportar links entre termos e colunas.
## 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"
Importar links entre termos e colunas
É necessário importar os links entre termos e colunas exportados na etapa anterior. Nesta seção, descrevemos como importar usando a API de job de metadados.
Faça upload de cada arquivo exportado na etapa anterior para um bucket do Cloud Storage, conforme descrito na etapa 2.
Execute um comando de importação separado para cada arquivo enviado por upload no bucket do Cloud Storage. Cada arquivo corresponde a um grupo de entradas exclusivo que contém links entre termos e colunas desse grupo.
# 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 )"
A seguir
- Gerenciar um glossário de negócios no Dataplex Universal Catalog
- Fazer a transição para o Dataplex Universal Catalog