Transição para o glossário empresarial no Dataplex Universal Catalog

Este documento fornece instruções para migrar num único passo da versão de pré-visualização do glossário empresarial, que suportava metadados do Data Catalog, para a versão geralmente disponível do glossário empresarial, que suporta metadados do catálogo universal do Dataplex.

Antes de começar

  1. Instale gcloud ou pacotes Python. Autentique a sua conta de utilizador e as credenciais padrão da aplicação (ADC) que as bibliotecas Python usam. Execute os seguintes comandos e siga as instruções baseadas no navegador:

    gcloud init
    gcloud auth login
    gcloud auth application-default login
    
  2. Ative as seguintes APIs:

  3. Crie um ou vários contentores do Cloud Storage em qualquer um dos seus projetos. Os contentores vão ser usados como uma localização temporária para os ficheiros de importação. Quanto mais contentores fornecer, mais rápida é a importação. Conceda a função do IAM de administrador de armazenamento à conta de serviço que executa a migração:

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

    Substitua MIGRATION_PROJECT_ID pelo projeto do qual está a migrar os glossários.

  4. Configure o repositório:

    1. 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-import
      
    2. Instale os pacotes necessários:

      pip3 install -r requirements.txt
      cd migration
      

Funções necessárias

Execute o script de migração

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

Substitua o seguinte:

  • USER_PROJECT_ID: o ID do projeto a ser migrado.

    O MIGRATION_PROJECT_ID refere-se ao projeto de origem que contém os glossários do Data Catalog que quer exportar. O USER_PROJECT_ID é o projeto usado para a faturação e a atribuição de quotas para as chamadas API geradas pelo script.

  • BUCKET1 e BUCKET2: os IDs dos contentores do Cloud Storage a usar para a importação.

    Pode fornecer um ou mais contentores. Para os argumentos do contentor, forneça uma lista de nomes de contentores separados por vírgulas sem espaços (por exemplo, --buckets=bucket-one,bucket-two). Não é necessário um mapeamento individual entre contentores e glossários. O script executa as tarefas de importação em paralelo, o que acelera a migração.

Se os problemas de autorização impedirem o script de descobrir 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 associados a termos do glossário.

Glossários de âmbito na migração

Para migrar apenas glossários específicos, defina o respetivo âmbito fornecendo os URLs correspondentes.

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 está a migrar. Pode fornecer um ou mais URLs de glossários.

Quando a migração é executada, o número de tarefas de importação pode ser inferior ao número de glossários exportados. Isto acontece quando são criados diretamente glossários vazios que não requerem uma tarefa de importação em segundo plano.

Retome a migração para falhas de tarefas de importação

A presença de ficheiros após a migração indica que algumas tarefas 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 ocorrerem falhas, execute novamente o comando resume. O script processa apenas ficheiros que não foram importados nem eliminados com êxito.

O script aplica verificações de dependências para links de entrada e links entre glossários. Um ficheiro de links de entradas só é importado se o respetivo glossário principal tiver sido importado com êxito. Da mesma forma, um link entre termos só é importado se todos os termos referenciados tiverem sido importados com êxito.

Resolver problemas

Esta secção oferece soluções para erros comuns.

  • Acesso negado / erro 403: certifique-se de que o utilizador ou a conta de serviço tem a função de editor do catálogo universal do Dataplex no projeto de destino e a função de visualizador do catálogo de dados no projeto de origem.

  • ModuleNotFoundError: certifique-se de que ativou o seu ambiente virtual Python e instalou os pacotes necessários através de pip3 install -r requirements.txt.

  • TimeoutError / ssl.SSLError: estes erros ao nível da rede podem ser causados por firewalls, proxies ou ligações lentas. O script tem um limite de tempo de 5 minutos. Os problemas persistentes podem exigir a verificação da configuração da sua rede local.

  • Método não encontrado (não é possível obter entradas): este erro indica frequentemente que o seu projeto de utilizador não está na lista de autorizações para chamar a API, o que impede a obtenção das entradas necessárias.