Como criar um Analyzer de Metadados no Copilot do Fabric
Este tutorial mostra como criar um Analyzer de Metadados no Copilot do Fabric para analisar tabelas e gerar um relatório com colunas sensíveis, tipos inconsistentes e campos sem documentação — útil para auditorias, governação e preparação de modelos.
Pré-requisitos
- Conta com acesso ao Microsoft Fabric e permissões para o Copilot.
- Uma Lakehouse ou Warehouse com pelo menos uma tabela de exemplo.
- Noções básicas de SQL e do painel Data Explorer no Fabric.
Passo 1: Preparar a tabela de exemplo
Escolhe uma tabela na tua Lakehouse ou Warehouse que tenha colunas variadas (nomes, emails, datas, valores). Se precisares, cria uma tabela simples para teste. O objetivo é ter dados reais para o Copilot analisar.
-- Exemplo em SQL para criar uma tabela de teste
CREATE TABLE IF NOT EXISTS sales_demo (
id INT,
customer_name STRING,
customer_email STRING,
amount DECIMAL(10,2),
purchase_date DATE,
notes STRING
);
-- Inserir alguns registos
INSERT INTO sales_demo VALUES
(1,'Ana Silva','ana.silva@example.com',120.50,'2024-06-01','primeira compra'),
(2,'João Pereira','joao.p@example.com',95.00,'2024-06-03',NULL);
Passo 2: Abrir o Copilot e definir o objetivo do Analyzer
Abre o Copilot no Fabric e prepara um prompt claro: descreve que queres um Analyzer de Metadados que identifique colunas sensíveis (ex.: emails, NIF), tipos inconsistentes (números como texto) e campos sem descrição. Explica o formato de saída desejado (JSON ou tabela).
Prompt exemplo:
"Analisa a tabela sales_demo e devolve um relatório JSON com:
- colunas sensíveis (tipo e motivo),
- colunas com tipos inconsistentes (exemplos),
- colunas sem documentação,
- sugestões de tipo e ação (ex.: anonymize, cast, document).
Formato: JSON com chaves: column, issue, example, suggestion."
Passo 3: Fornecer contexto e amostras ao Copilot
Para melhores resultados, fornece um pequeno excerto de dados e o esquema. Podes colar cinco linhas ou usar uma query SELECT LIMIT. Isto ajuda o Copilot a detectar padrões reais.
-- Extrair amostra para colar no prompt
SELECT * FROM sales_demo LIMIT 5;
Passo 4: Executar o prompt e iterar
Executa o prompt no Copilot. Provavelmente terás de pedir clarificações ou ajustar instruções (ex.: quais regras para considerar sensível). Itera até o JSON estar coerente e incluir exemplos reais da amostra.
Exemplo de output esperado (JSON simplificado):
[
{"column":"customer_email","issue":"sensitive","example":"ana.silva@example.com","suggestion":"anonymize or hash"},
{"column":"amount","issue":"type_inconsistent","example":"'120.50' as text","suggestion":"cast to DECIMAL"},
{"column":"notes","issue":"missing_documentation","example":null,"suggestion":"add column description"}
]
Passo 5: Automatizar com um Prompt Template
Se vais repetir esta análise em várias tabelas, cria um Prompt Template no Copilot com placeholders para nome da tabela, schema e sample_query. Assim poupas tempo e garantias consistência.
Template exemplo:
"Analisa a tabela {{table_name}} com schema: {{schema}} e sample: {{sample}}. Produz JSON com column, issue, example, suggestion."
Passo 6: Integrar o relatório na Lakehouse
Guarda o JSON resultante numa tabela de metadados na Lakehouse para rastreio e auditoria. Isto permite consultas futuras e acções automatizadas (ex.: workflows para anonimização).
-- Criar tabela para relatórios
CREATE TABLE IF NOT EXISTS metadata_analyzers_reports (
table_name STRING,
report JSON,
analyzed_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- Inserir relatório (exemplo simplificado)
INSERT INTO metadata_analyzers_reports (table_name, report) VALUES
('sales_demo', '{"report": [...] }');
Verificar o resultado
Confirma que o JSON contém: todas as colunas importantes da tabela, exemplos reais (vindos da amostra), e sugestões accionáveis. Verifica também a tabela metadata_analyzers_reports para garantir que o relatório foi guardado.
Conclusão
Com este Analyzer de Metadados no Copilot do Fabric consegues identificar rapidamente riscos e inconsistências nas tuas tabelas, acelerar auditorias e preparar dados para modelos. Próximos passos: criar regras automáticas que apliquem as sugestões (ex.: casting, anonimização) ou agendar análises periódicas. Dica: começa com amostras pequenas e vai refinando o prompt para reduzir falsos positivos.