Importar glossários empresariais de uma planilha Google

Este documento explica como usar o utilitário de importação de glossário para realizar a importação em massa de glossários, categorias e termos de uma planilha Google para o Knowledge Catalog (antigo Dataplex Universal Catalog).

O utilitário glossary_import analisa e valida dados de uma planilha Google, converte em um formato compatível com a API CreateMetadataJob do Knowledge Catalog, e faz o upload para um bucket do Cloud Storage antes de acionar o job de importação.

Antes de começar

Antes de importar glossários, conclua os pré-requisitos a seguir.

Configurar a conta de serviço

Para executar o utilitário de importação usando uma planilha Google, configure uma conta de serviço com as permissões necessárias para acessar a API Google Sheets e representar suas credenciais de usuário:

  1. Identifique ou crie uma conta de serviço.

    Selecione uma conta de serviço atual ou crie uma no projeto em que você executa o utilitário de importação. Para mais informações, consulte Criar contas de serviço. Anote o e-mail da conta de serviço (por exemplo, SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com).

  2. Configure a identidade temporária de conta de serviço.

    Para executar o script do utilitário de importação localmente, sua conta de usuário precisa ter permissão para representar a conta de serviço. Conceda à conta de usuário o papel Criador de token da conta de serviço (roles/iam.serviceAccountTokenCreator) na conta de serviço.

    Para mais informações, consulte Gerenciar o acesso a contas de serviço.

  3. Conceda à conta de serviço Editor acesso à planilha do Google.

    Abra a planilha Google que você quer usar para o processo de importação, clique em Compartilhar, e adicione o e-mail da conta de serviço como um Editor. Essa permissão permite que a conta de serviço leia ou grave dados na planilha.

Criar um bucket do Cloud Storage

Crie um bucket do Cloud Storage para servir como uma área de preparação para arquivos de importação.

Funções exigidas

Para garantir que a conta de serviço tenha as permissões necessárias para importar glossários de uma planilha do Google, peça ao administrador para conceder os seguintes papéis do IAM à conta de serviço:

Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

O administrador também pode conceder à conta de serviço as permissões necessárias por meio de papéis personalizados ou de outros papéis predefinidos.

Ativar APIs

Para importar glossários, ative as seguintes APIs no seu projeto:

Funções necessárias para ativar APIs

Para ativar as APIs, é necessário ter o papel do IAM de administrador de uso do serviço (roles/serviceusage.serviceUsageAdmin), que contém a permissão serviceusage.services.enable. Saiba como conceder papéis.

Ativar as APIs

Configurar o repositório Git

Clone o repositório dataplex-labs:

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

Instalar dependências

Instale as dependências necessárias do Python:

pip3 install -r requirements.txt

Se você tiver problemas com a instalação do pacote, configure um novo ambiente de desenvolvimento Python.

Autenticar e configurar a identidade temporária de conta de serviço

Inicialize a Google Cloud CLI e faça a autenticação usando o Application Default Credentials (ADC) com a identidade temporária de conta de serviço:

# Set your service account email address
SA_EMAIL="SERVICE_ACCOUNT_EMAIL"

# Authenticate ADC using service account impersonation and required scopes
gcloud auth application-default login \
  --impersonate-service-account="${SA_EMAIL}" \
  --scopes="https://www.googleapis.com/auth/spreadsheets"

Substitua SERVICE_ACCOUNT_EMAIL pelo ID do e-mail da conta de serviço. Exemplo:

SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com

Criar e estruturar a planilha Google para importação

Para executar uma importação em massa, crie uma planilha Google usando um esquema de coluna preciso para que o utilitário de importação possa analisar e validar seus campos de metadados. Confira se você concedeu à conta de serviço acesso de Editor à planilha Google.

A primeira linha da planilha precisa conter esses cabeçalhos de esquema exatos e sensíveis a maiúsculas e minúsculas:

Campo Obrigatório ou opcional Descrição
id Obrigatório Um identificador exclusivo para o termo ou categoria no glossário.
parent Opcional O ID da categoria mãe. Se estiver vazio, o item será um filho de nível raiz do glossário. Observação: o ID mãe referenciado precisa existir na página e pertencer a uma categoria.
display_name Obrigatório O nome de exibição do termo ou categoria.
description Opcional Uma breve descrição do termo ou categoria.
overview Opcional Uma descrição de texto avançado do termo ou categoria (aceita tags HTML).
type Obrigatório O tipo de linha. Os valores válidos são TERM ou CATEGORY.
contact1_email Opcional Endereço de e-mail do administrador de dados principal do termo ou categoria.
contact1_name Opcional Nome do administrador de dados principal do termo ou categoria.
contact2_email Opcional Endereço de e-mail do administrador de dados secundário do termo ou categoria.
contact2_name Opcional Nome do administrador de dados secundário do termo ou categoria.
label1_key Opcional Chave do primeiro rótulo atribuído.
label1_value Opcional Valor do primeiro rótulo atribuído.
label2_key Opcional Chave do segundo rótulo atribuído.
label2_value Opcional Valor do segundo rótulo atribuído.

Importar o glossário da planilha Google

Depois de configurar seu ambiente e preparar a planilha Google, execute o script glossary_import.py:

python3 bg_import/dataplex-glossary/glossary_import.py

O utilitário de importação imprime o resultado da execução da API CreateMetadataJob diretamente no terminal. Verifique se o status do job indica sucesso.

É possível analisar os registros de execução no diretório logs/ no caminho de execução local. Esses registros ajudam a auditar o processo de transferência e identificar entradas ignoradas ou avisos de formatação.

A seguir