Neste documento, descrevemos como importar metadados do MySQL para o Knowledge Catalog (antigo Dataplex Universal Catalog) usando um conector do Knowledge Catalog.
Este conector é compatível com instâncias do MySQL hospedadas no local, no Cloud SQL ou em outros ambientes de nuvem.
Antes de importar metadados do MySQL, conclua as seguintes tarefas:
- Conceda os papéis e permissões necessários.
- Ative as APIs Knowledge Catalog e serviço de transferência de dados do BigQuery.
- Atenda aos pré-requisitos do MySQL.
- Atenda aos pré-requisitos de rede.
Permissões e papéis do IAM
Para criar e gerenciar um job de conector do Knowledge Catalog, você precisa de papéis do Identity and Access Management (IAM) que concedam permissões para o Knowledge Catalog e o serviço de transferência de dados do BigQuery.
Para receber as permissões necessárias para configurar um conector do MySQL, peça ao administrador para conceder a você os seguintes papéis do IAM:
- Para criar e gerenciar grupos de entradas: Administrador do catálogo do Dataplex (
roles/dataplex.catalogAdmin), Editor do catálogo do Dataplex (roles/dataplex.catalogEditor) ou Proprietário do grupo de entradas do Dataplex (roles/dataplex.entryGroupOwner) no projeto. - Para criar e gerenciar jobs de transferência do serviço de transferência de dados do BigQuery: Administrador do BigQuery
(
roles/bigquery.admin) no projeto. - Para ver os registros no Cloud Logging: Visualizador de registros
(
roles/logging.viewer) no projeto.
Além disso, conceda ao agente de serviço do serviço de transferência de dados do BigQuery
(service-PROJECT_NUMBER@gcp-sa-bigquerydatatransfer.iam.gserviceaccount.com) a permissão
dataplex.entryGroups.import ou o papel Importador de grupo de entradas do
Dataplex
(roles/dataplex.entryGroupImporter). É possível conceder esse papel no nível do projeto ou do grupo de entradas.
Para mais informações sobre como conceder papéis, consulte Gerenciar acesso.
Ativar APIs
Ative as APIs Knowledge Catalog e serviço de transferência de dados do BigQuery.
Pré-requisitos do MySQL
Verifique se você atende aos pré-requisitos para transferências do MySQL. Para mais detalhes, consulte Pré-requisitos do MySQL na documentação do serviço de transferência de dados do BigQuery.
Além dos pré-requisitos do serviço de transferência de dados do BigQuery, seu banco de dados MySQL precisa atender aos seguintes requisitos para extração de metadados:
- Versão mínima:MySQL 8.0 ou mais recente.
- Permissões mínimas necessárias:a ferramenta de extração exige permissões específicas para consultar o
INFORMATION_SCHEMAe coletar metadados.
Essas permissões garantem a seguinte cobertura de metadados:
- Informações da instância e do banco de dados:nome do host, porta, versão e configurações de esquema.
- Tabelas e colunas:estrutura principal, tipos de dados e metadados operacionais, como tamanhos e contagens de linhas.
- Índices e partições:índices secundários, métodos de partição e expressões.
- Visualizações:estruturas e definições de tabelas virtuais.
- Rotinas:procedimentos armazenados, funções e parâmetros.
- Restrições:chave primária, chave externa, exclusividade e verificação detalhadas.
- Gatilhos:definições de gatilho e tempo do evento.
Para conceder essas permissões, execute os seguintes scripts SQL.
Crie o usuário:
CREATE USER 'USERNAME'@'%' IDENTIFIED BY 'PASSWORD';Conceda acesso aos metadados. É possível conceder acesso a um único banco de dados de destino ou a todos os bancos de dados na instância.
Para conceder acesso a um único banco de dados ou esquema de destino:
GRANT SELECT, SHOW VIEW, REFERENCES, EXECUTE, TRIGGER ON DATABASE_NAME.* TO 'USERNAME'@'%';Como alternativa, para conceder acesso a todos os bancos de dados na instância:
GRANT SELECT, SHOW VIEW, REFERENCES, EXECUTE, TRIGGER ON *.* TO 'USERNAME'@'%';Permita que a ferramenta de extração liste todos os bancos de dados disponíveis na instância:
GRANT SHOW DATABASES ON *.* TO 'USERNAME'@'%';Aplique as alterações:
FLUSH PRIVILEGES;
Substitua:
USERNAME: o usuário do banco de dados que você quer configurar.PASSWORD: a senha do usuário do banco de dados.DATABASE_NAME: o nome do banco de dados do MySQL que você quer acessar.
Pré-requisitos de rede
Um anexo de rede para conexão pelo Private Service Connect é necessário ao se conectar com segurança a bancos de dados externos ou fontes de dados de nuvem de terceiros com um endereço IP privado em uma rede particular, para permitir que o serviço de transferência de dados do BigQuery acesse seu banco de dados.
Se você se conectar a um ambiente local ou a uma instância hospedada na nuvem usando um endereço IP público, não será necessário um anexo de rede.
Configurar um conector do MySQL
Configure um conector do MySQL usando o console Google Cloud ou a API.
Console
No console Google Cloud , acesse a página Knowledge Catalog.
No menu de navegação, na seção Gerenciar, clique em Conectores.
Clique em Adicionar conexão.
Na lista Conectores, selecione o card MySQL.
Na seção Detalhes da fonte de dados, forneça os detalhes da conexão para sua instância do MySQL:
- Em Anexo de rede, selecione um anexo de rede existente, se necessário, ou crie um.
- Insira o Host, a Porta, o Nome do banco de dados, o Nome de usuário e a Senha.
- Se estiver usando TLS, selecione um Modo TLS e forneça um Certificado PEM confiável.
- Em Objetos de metadados do MySQL para importar, clique em Procurar para selecionar objetos.
Na seção Configurações de destino:
- Clique em Procurar e selecione um grupo de entradas do Knowledge Catalog para armazenar os metadados importados ou clique em Criar novo grupo de entradas.
- Escolha se você quer definir as permissões no grupo de entrada agora ou depois. Defina
permissões para que os usuários possam ver os metadados importados. Se você não concedeu o papel Importador de grupos de entradas do Dataplex (
roles/dataplex.entryGroupImporter) ou a permissãodataplex.entryGroups.importao agente de serviço do serviço de transferência de dados do BigQuery (service-PROJECT_NUMBER@gcp-sa-bigquerydatatransfer.iam.gserviceaccount.com) no nível do projeto, conceda no nível do grupo de entradas.
No campo Nome de exibição da seção Nome da configuração do conector, insira um nome para o job de importação de metadados.
Na seção Opções de programação, configure a frequência do job de importação de metadados. Se você selecionar Sob demanda, o job será executado apenas quando você acioná-lo manualmente.
Opcional: na seção Opções de notificação, configure notificações por e-mail ou Pub/Sub para falhas de jobs.
Opcional: na seção Opções avançadas, configure as opções de criptografia. Se você selecionar uma chave de criptografia gerenciada pelo cliente (CMEK), observe que a chave será usada para criptografar todos os dados temporários armazenados antes de iniciar os jobs de importação de metadados do Knowledge Catalog. Ele não é usado para criptografar os metadados no grupo de entradas de destino do Knowledge Catalog.
Clique em Salvar.
REST
Use o método projects.locations.transferConfigs.create. No recurso TransferConfig, configure os seguintes campos:
- Defina o campo
dataSourceIdcomo"mysql" - No campo
metadataDestination, preencha o objetodataplexConfigurationcom o caminho do recurso do grupo de entradas de destino do Knowledge Catalog:projects/<var>PROJECT_ID</var>/locations/<var>LOCATION</var>/entryGroups/<var>ENTRY_GROUP_ID</var>
Depois de criar o job, o Knowledge Catalog agenda a primeira execução de acordo com sua configuração, ou você pode iniciá-la manualmente.
Pesquisar e visualizar metadados do MySQL
No console Google Cloud , acesse a página Pesquisa do Knowledge Catalog.
No painel Filtros, é possível filtrar recursos do MySQL usando as seções Projeto, Sistema e Aliases de tipo. Na seção Sistema, selecione Contexto importado. Ao selecionar esse filtro, uma subseção Managed Connectors é aberta. Selecione MySQL para filtrar todos os metadados do MySQL.
Você pode usar o campo de pesquisa para fazer consultas. Você pode fazer uma pesquisa por palavras-chave ou com linguagem natural. Por exemplo, para ver todas as tabelas do MySQL usando a pesquisa por palavra-chave, insira
system=MYSQL AND type=TABLE.Para saber mais sobre como pesquisar recursos, consulte Pesquisar recursos no Knowledge Catalog. Para saber mais sobre as expressões que podem ser usadas no campo de pesquisa, consulte Sintaxe de pesquisa do Knowledge Catalog.
Também é possível usar a API LookupContext para recuperar o contexto do LLM de recursos específicos do MySQL.
A seguir
- Saiba como gerenciar jobs de conector.