Gerenciar recursos usando o Data Catalog

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

O Data Catalog é um serviço de gerenciamento 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 em intervalos de algumas 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 para 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 tag a seguir a uma coluna que contenha um CPF, 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, é necessário exportar as tags da instância de origem antes de movê-la e importá-las 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. Faça login na sua conta do Google Cloud. Se você começou a usar o Google Cloud agora, crie uma conta para avaliar o desempenho de nossos produtos em situações reais. Clientes novos também recebem US$ 300 em créditos para executar, testar e implantar cargas de trabalho.
  2. No console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.

    Acessar o seletor de projetos

  3. Verifique se a cobrança está ativada para o seu projeto do Google Cloud.

  4. No console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.

    Acessar o seletor de projetos

  5. Verifique se a cobrança está ativada para o seu projeto do Google Cloud.

  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 tags.

Anexar tags aos recursos do Spanner

Ao anexar tags aos recursos do Spanner, é possível fazer 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 tags.

Pesquisar recursos do Spanner

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

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

    Acessar 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 consultar apenas bancos de dados, digite 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.
    • Se quiser conferir uma tabela, clique na guia SCHEMA para visualizar as colunas da tabela.
    • Para uma instância (SERVICE), para visualizar os bancos de dados de membros, clique na guia LISTA DE ENTRADA e, em seguida, clique em VISUALIZAR INSCRIÇÕES INFANTIL 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: detalhar de instância para colunas

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

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

    Acessar o Dataplex

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

  3. Para visualizar todas as instâncias do Spanner no Data Catalog, marque a caixa de seleção Serviço em Tipos de dados ou insira 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 ENTRADA e, em seguida, em VER INSCRIÇÕES FILHAS NA PESQUISA.

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

  6. Na página Detalhes do banco de dados do Spanner, clique na guia LISTA DE ENTRADA e, em seguida, em VER INSCRIÇÕES FILHAS NA PESQUISA.

    O Dataplex exibe as tabelas no banco de dados.

  7. Selecione um nome de tabela e, em seguida, na página Detalhes da tabela do Spanner, clique em Escamoso para ver 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 movimentação exclui as tags de instância criadas 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 seis horas. Todas as alterações de metadados feitas nos recursos do Spanner, como instâncias, bancos de dados, tabelas, visualizações ou colunas, podem levar aproximadamente seis horas para serem propagadas para o Data Catalog.

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

Para listar as tags de uma instância (grupo de entrada ou de entrada), use o comando gcloud data-catalog tags list da Google Cloud CLI 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-a 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, na sigla em inglês) do recurso. As FQNs têm dois formatos:

    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 para uma tabela 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 necessários do IAM para as várias operações do Data Catalog.

Operação do Data Catalog Recurso do Spanner Papéis 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
Ver tags públicas Instância spanner.instances.get
Banco de dados spanner.databases.get
Tabela spanner.databases.get
Visualizações spanner.databases.get
Ver 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
  • roles/spanner.databaseAdmin
  • roles/spanner.databaseUser

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

A seguir