Este documento fornece instruções para migrar em uma única etapa da versão de pré-lançamento do glossário empresarial, que oferecia suporte a metadados do Data Catalog, para a versão de disponibilidade geral do glossário empresarial no Knowledge Catalog (antigo Dataplex Universal Catalog). A migração para a versão de disponibilidade geral permite usar os recursos aprimorados e a integração mais profunda com os metadados do Knowledge Catalog, oferecendo maior estabilidade, novos recursos e suporte de produção completo. Esse processo atualiza automaticamente seus glossários para oferecer suporte a metadados do Knowledge Catalog.
Antes de começar
Instale os pacotes gcloud ou Python. Autentique sua conta de usuário e as Application Default Credentials (ADC) usadas pelas bibliotecas Python. Execute os comandos a seguir e siga as instruções baseadas no navegador:
gcloud init gcloud auth login gcloud auth application-default loginAtive as APIs a seguir:
Crie um ou vários buckets do Cloud Storage em qualquer um dos seus projetos. Os buckets serão usados como um local temporário para os arquivos de importação. Quanto mais buckets você fornecer, mais rápida será a importação. Conceda o papel de IAM do Storage Admin à conta de serviço que executa a migração:
service-MIGRATION_PROJECT_ID@gcp-sa-dataplex.iam.gserviceaccount.com
Substitua
MIGRATION_PROJECT_IDpelo projeto do qual você está migrando os glossários.Configure o repositório:
Clone o repositório:
git clone https://github.com/GoogleCloudPlatform/dataplex-labs.git cd dataplex-labs/dataplex-quickstart-labs/00-resources/scripts/python/business-glossary-importInstale os pacotes necessários.
pip3 install -r requirements.txt cd migration
Funções exigidas
Para receber as permissões necessárias para migrar glossários do Data Catalog para o Knowledge Catalog, peça ao administrador para conceder a você os seguintes papéis do IAM:
-
Proprietário do glossário do Data Catalog (
roles/datacatalog.glossaryOwner) no seu projeto -
Administrador do Dataplex (
roles/dataplex.admin) no seu projeto
Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.
Esses papéis predefinidos contêm as permissões necessárias para migrar glossários do Data Catalog para o Knowledge Catalog. Para acessar as permissões exatas que são necessárias, expanda a seção Permissões necessárias:
Permissões necessárias
As permissões a seguir são necessárias para migrar glossários do Data Catalog para o Knowledge Catalog:
-
no projeto do qual você está migrando glossáriosdatacatalog.glossaries.get -
no projeto do qual você está migrando glossáriosdatacatalog.glossaries.list -
no projeto em que os glossários são criados no Knowledge Catalogdataplex.glossaries.create -
no projeto em que os glossários serão atualizados no Knowledge Catalogdataplex.glossaries.update
Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.
Para mais informações sobre o Identity and Access Management (IAM) do Knowledge Catalog, consulte Gerenciar o acesso com o IAM.
Executar o script de migração
python3 run.py --project=MIGRATION_PROJECT_ID --user-project=USER_PROJECT_ID --buckets=BUCKET1,BUCKET2
Substitua:
USER_PROJECT_ID: o ID do projeto a ser migrado.O
MIGRATION_PROJECT_IDse refere ao projeto de origem que contém os glossários do Data Catalog que você quer exportar. OUSER_PROJECT_IDé o projeto usado para faturamento e atribuição de cota para as chamadas de API geradas pelo script.BUCKET1eBUCKET2: os IDs bucket do Cloud Storage a serem usados para a importação.É possível fornecer um ou mais buckets. Para os argumentos do bucket, forneça uma lista separada por vírgulas de nomes de buckets sem espaços (por exemplo,
--buckets=bucket-one,bucket-two). Não é necessário um mapeamento um para um entre buckets e glossários. O script executa os jobs de importação em paralelo, acelerando a migração.
Se problemas de permissão impedirem que o script descubra automaticamente os IDs da sua organização, use a flag --orgIds para especificar as organizações que o script pode usar para pesquisar recursos de dados vinculados a termos do glossário.
Glossários de escopo na migração
Para migrar apenas glossários específicos, defina o escopo deles fornecendo os respectivos URLs.
python3 run.py --project=MIGRATION_PROJECT_ID --user-project=USER_PROJECT_ID --buckets=BUCKET1,BUCKET2 --glossaries="GLOSSARY_URL1","GLOSSARY_URL2"
Substitua GLOSSARY_URL1 (e GLOSSARY_URL2) pelos URLs dos glossários que você está migrando. É possível fornecer um ou mais URLs de glossário.
Quando a migração é executada, o número de jobs de importação pode ser menor que o número de glossários exportados. Isso acontece quando glossários vazios que não exigem um job de importação em segundo plano são criados diretamente.
Retomar a migração para falhas de job de importação
A presença de arquivos após a migração indica que alguns jobs de importação falharam. Para retomar a migração, execute o seguinte comando:
python3 run.py --project=MIGRATION_PROJECT_ID --user-project=USER_PROJECT_ID --buckets=BUCKET1,BUCKET2 --resume-import
Se você encontrar falhas, execute o comando resume novamente. O script processa apenas arquivos que não foram importados e excluídos.
O script aplica verificações de dependência para links de entrada e links entre glossários. Um arquivo de link de entrada só é importado se o glossário pai tiver sido importado. Da mesma forma, um link entre termos só é importado se todos os termos referenciados tiverem sido importados.
Resolver problemas
Esta seção fornece soluções para erros comuns.
Permissão negada / erro 403: verifique se o usuário ou a conta de serviço tem o papel de editor do Dataplex no projeto de destino e o papel de leitor do Dataplex no projeto de origem.
ModuleNotFoundError: verifique se você ativou seu ambiente virtual Python e instalou os pacotes necessários usando
pip3 install -r requirements.txt.TimeoutError / ssl.SSLError: esses erros de nível de rede podem ser causados por firewalls, proxies ou conexões lentas. O script tem um tempo limite de 5 minutos. Problemas persistentes podem exigir a verificação da configuração da rede local.
Método não encontrado (não é possível buscar entradas): esse erro geralmente indica que o projeto do usuário não está na lista de permissões para chamar a API, impedindo a recuperação das entradas necessárias.