Gerenciar recursos usando o Data Catalog

Nesta página, explicamos como pesquisar e gerenciar seus recursos do Spanner usando o Data Catalog.

O Data Catalog é um serviço de metadados totalmente gerenciado e escalonável no Dataplex. Ele cataloga automaticamente os seguintes metadados sobre instâncias, bancos de dados, tabelas, colunas e visualizações do Spanner:

  • Nome e nome totalmente qualificado
  • Local (região)
  • Data de criação e data da última modificação
  • Esquema (para tabelas e visualizações)
  • Descrição

Os metadados do Spanner são sincronizados automaticamente com o Data Catalog em intervalos regulares, geralmente a cada poucas horas. É possível usar o Data Catalog para descobrir e entender os metadados do Spanner. Use o Data Catalog para ajudar nas seguintes atividades:

  • Análise, incluindo dependências e adequação a um caso de uso
  • Gestão da mudança
  • Movimentação de dados (pipelines)
  • Evolução do esquema

Com o Data Catalog, é possível selecionar metadados anexando tags às entradas de metadados do Spanner. Cada tag pode ter vários campos de metadados e pode ser baseada em um modelo de tag predefinido ou personalizado.

Por exemplo, você pode anexar a seguinte tag a uma coluna que contenha um CPF ou CNPJ, que são informações de identificação pessoal (PII):

pii:true
pii_type:SSN

Quando você move uma instância que usa tags, elas não são movidas automaticamente para a instância de destino. Em vez disso, exporte as tags da instância de origem antes de movê-la e importe-as para a instância de destino. Para mais informações, consulte Exportar e importar tags.

Para saber mais sobre o Data Catalog, consulte O que é o Data Catalog.

Antes de começar

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  5. Make sure that billing is enabled for your Google Cloud project.

  6. Ative a API Data Catalog para o projeto.

    Ativar a API Data Catalog

  7. Verifique as permissões.

    Você precisa de determinados papéis e permissões do Identity and Access Management (IAM) para pesquisar e anexar tags aos recursos do Spanner. Para mais detalhes, consulte Permissões e papéis do IAM necessários para o Data Catalog.

Criar modelos de tag

Os modelos de tag são estruturas reutilizáveis que podem ser usadas para criar novas tags rapidamente. Os modelos ajudam a evitar duplicação de trabalho e tags incompletas. Crie quantos modelos de tag precisar.

Para saber mais, consulte Tags e modelos de tag.

Anexar tags a recursos do Spanner

Anexar tags aos recursos do Spanner permite que você faça o seguinte:

  • Adicionar metadados comerciais aos recursos.
  • Pesquise recursos por metadados da empresa e outros metadados personalizados.

Para saber mais, consulte Tags e modelos de tag.

Pesquisar recursos do Spanner

Use a página de pesquisa do Dataplex no console do Google Cloud para pesquisar recursos do Spanner.

  1. Acesse a página de pesquisa do Dataplex.

    Acesse o Dataplex.

  2. No painel Filtros, em Sistemas, selecione Spanner.

    O Dataplex mostra todos os recursos conhecidos do Spanner.

  3. Opcional: siga um destes procedimentos para restringir a pesquisa:

    • Use a pesquisa facetada na página Pesquisa. Marque as caixas de seleção em Tipos de dados, Projetos e Tags.

    • No campo de pesquisa, anexe um parâmetro de pesquisa após system=cloud_spanner. Separe os parâmetros com espaços.

    Por exemplo, para visualizar apenas bancos de dados, insira o texto a seguir no campo de pesquisa e pressione Enter.

     system=cloud_spanner type=database
    

    Também é possível usar parênteses e os operadores lógicos and e or para expressões complexas. Para saber mais sobre as expressões que podem ser usadas no campo de pesquisa, consulte Sintaxe de pesquisa do Data Catalog.

  4. Na tabela de resultados, clique no nome de um recurso para visualizar os metadados dele.

  5. Opcional: faça o seguinte:

    • Clique em ADICIONAR VISÃO GERAL para incluir uma descrição em rich text do recurso.
    • Clique em ANEXAR TAGS para adicionar uma ao recurso.
    • Para uma tabela, clique na guia ESQUEMA para conferir as colunas.
    • Em uma instância (SERVIÇO), para conferir os bancos de dados dos membros, clique na guia LISTA DE ENTRADAS e em EXIBIR AS ENTRADAS FILHAS NA PESQUISA. Se a guia ENTRY LIST não aparecer, isso significa que a instância não tem bancos de dados.

Exemplo de fluxo de trabalho: detalhamento da instância para as colunas

Neste fluxo de trabalho de exemplo, você começa pesquisando uma instância do Spanner, depois visualiza um banco de dados de membros, uma tabela nesse banco de dados e as colunas na tabela.

  1. Acesse a página de pesquisa do Dataplex.

    Acesse o Dataplex.

  2. No painel Filtros, em Sistemas, selecione Spanner.

  3. Para conferir todas as instâncias do Spanner no catálogo de dados, selecione a caixa de seleção Service em Data types ou digite o texto a seguir no campo de pesquisa e pressione Enter.

    system=cloud_spanner type=service
    
  4. Selecione um nome de instância.

  5. Na página Detalhes do serviço do Spanner, clique na guia LISTA DE ENTRADAS e em VER ENTRADAS FILHAS NA PESQUISA.

    O Dataplex mostra os bancos de dados na instância.

  6. Na página Detalhes do banco de dados do Spanner, clique na guia LISTA DE ENTRADAS e em EXIBIR ENTRADAS FILHAS NA PESQUISA.

    O Dataplex mostra as tabelas no banco de dados.

  7. Selecione um nome de tabela e, na página Detalhes da tabela do Spanner, clique em ESQUEMA para conferir as colunas da tabela.

  8. Opcional: para adicionar uma tag a uma coluna, clique no sinal de adição em Tags de coluna.

Exportar e importar tags

Quando você move uma instância do Spanner, o processo de mudança exclui as tags de instância que você criou no Data Catalog. Para preservar suas tags, faça o seguinte:

  • Consultar as tags associadas à instância.
  • Copie os detalhes das tags.
  • Crie as tags na instância movida.

O Spanner sincroniza dados a cada 6 horas. Qualquer mudança de metadados feita em recursos do Spanner, como instâncias, bancos de dados, tabelas, visualizações ou colunas, pode levar aproximadamente seis horas para ser propagada para o Data Catalog.

Exportar tags da configuração da instância de origem

Para listar as tags de uma instância (entrada ou grupo de entrada), use o comando gcloud data-catalog tags list da CLI do Google Cloud da seguinte maneira:

curl \
'https://datacatalog.googleapis.com/v1/projects/PROJECT/locations/LOCATION/entryGroups/ENTRY_GROUP/tags?key=API_KEY' \
  --header 'Authorization: Bearer ACCESS_TOKEN' \
  --header 'Accept: application/json' \
  --compressed

Substitua:

  • PROJECT: projeto que contém as tags.
  • LOCATION: local das tags.
  • API_KEY: uma string exclusiva que permite acessar uma API.
  • ACCESS_TOKEN: o token de acesso que o aplicativo usa para autenticar o serviço.

Importar tags para a configuração de destino

Antes de concluir este procedimento, faça o seguinte:

Para copiar uma tag, crie as tags na instância movida usando o comando gcloud data-catalog tags create da seguinte maneira:

curl --request POST \
'https://datacatalog.googleapis.com/v1/entries:lookup?fullyQualifiedName=FQN&location=LOCATION&project=PROJECT&key=API_KEY' \
  --header 'Authorization: Bearer ACCESS_TOKEN' \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --data '{"column":"myColumnName","name":"myTagName","template":"myTemplateName","fields":{"myDoubleField":{"doubleValue":0}}}' \
  --compressed

Substitua:

  • FQN: nome totalmente qualificado (FQN) do recurso. Os FQDNs têm duas formas:

    Para recursos não regionalizados: {SYSTEM}:{PROJECT}.{PATH_TO_RESOURCE_SEPARATED_WITH_DOTS}

    Para recursos regionalizados: {SYSTEM}:{PROJECT}.{LOCATION_ID}.{PATH_TO_RESOURCE_SEPARATED_WITH_DOTS}

    Exemplo de tabela de DPMS:

    dataproc_metastore:{PROJECT_ID}.{LOCATION_ID}.{INSTANCE_ID}.{DATABASE_ID}.{TABLE_ID}

  • LOCATION: local em que a pesquisa é realizada.

  • PROJECT: projeto em que a pesquisa é realizada.

  • API_KEY: uma string exclusiva que permite acessar uma API.

  • ACCESS_TOKEN: o token de acesso que o aplicativo usa para autenticar o serviço.

Permissões e papéis do IAM necessários para o Data Catalog

A tabela a seguir mostra os papéis e as permissões do IAM necessários para as várias operações do Data Catalog.

Operação do Data Catalog Recurso do Spanner Funções ou permissões necessárias
Criar um modelo de tag N/A roles/datacatalog.tagTemplateCreator
Pesquisar recursos do Spanner Instância spanner.instances.get
Banco de dados spanner.databases.get
Tabela spanner.databases.get
Visualizações spanner.databases.get
Conferir tags públicas Instância spanner.instances.get
Banco de dados spanner.databases.get
Tabela spanner.databases.get
Visualizações spanner.databases.get
Conferir tags particulares Instâncias datacatalog.tagTemplates.getTag + spanner.instances.get
Bancos de dados datacatalog.tagTemplates.getTag + spanner.databases.get
Tabelas datacatalog.tagTemplates.getTag + spanner.databases.get
Visualizações datacatalog.tagTemplates.getTag + spanner.databases.get
Anexar uma tag a um recurso do Spanner usando um modelo de tag Instâncias datacatalog.tagTemplates.use + spanner.instances.updateTag
Bancos de dados datacatalog.tagTemplates.use + spanner.databases.updateTag
Tabelas datacatalog.tagTemplates.use + spanner.databases.updateTag
Visualizações datacatalog.tagTemplates.use + spanner.databases.updateTag

A permissão spanner.instances.UpdateTag está incluída no seguinte papel:

  • roles/spanner.admin

A permissão spanner.databases.UpdateTag está incluída nos seguintes papéis:

  • roles/spanner.admin
  • papéis/spanner.databaseAdmin
  • roles/spanner.databaseUser

Para mais informações, consulte Papéis predefinidos.

A seguir