Skip
BI4ALL BI4ALL
  • Expertise
    • Data Strategy & Governance
    • Data Visualisation
    • Inteligência Artificial
    • Low Code & Automation
    • Modern BI & Big Data
    • R&D Software Engineering
    • PMO, BA & UX/ UI Design
  • Knowledge Centre
    • Blog
    • Setores
    • Customer Success
    • Tech Talks
  • Sobre Nós
    • História
    • Board
    • Parceiros BI4ALL
    • Prémios
    • Media Centre
  • Carreiras
  • Contactos
Português
InglêsAlemão
Página Anterior:
    Knowledge Center
  • Frameworks orientadas por metadados no Microsoft Fabric: Implementações em YAML (Parte 3)

Frameworks orientadas por metadados no Microsoft Fabric: Implementações em YAML (Parte 3)

Página Anterior: Blog
  • Knowledge Center
  • Blog
  • Fabric: nova plataforma de análise de dados
1 Junho 2023

Fabric: nova plataforma de análise de dados

Placeholder Image Alt
  • Knowledge Centre
  • Frameworks orientadas por metadados no Microsoft Fabric: Implementações em YAML (Parte 3)
10 Setembro 2025

Frameworks orientadas por metadados no Microsoft Fabric: Implementações em YAML (Parte 3)

Frameworks orientadas por metadados no Microsoft Fabric: Implementações em YAML (Parte 3)

Este é o último artigo da nossa série sobre frameworks de metadados no Microsoft Fabric. Depois de explorarmos a configuração e o logging, chegamos agora à questão de como fazer a implementação (deployment) segura de ficheiros YAML entre ambientes.

Ao contrário de pipelines, warehouses ou notebooks, os ficheiros de configuração YAML não são artefactos do Fabric. Isto significa que não são incluídos nos pipelines de deployment nativos do Fabric. Assim, as implementações têm de ser orquestradas externamente — no nosso caso com o Azure DevOps. (A mesma abordagem funcionaria também com o GitHub Actions.)

 

Criar e organizar ficheiros YAML

Se estiveres a desenvolver com o VS Code, o processo é simples: crias os ficheiros YAML localmente, validas com o script de validação e fazes commit no controlo de versões. Esta é, em geral, a prática recomendada, porque tiras proveito do linting, validação do schema e controlo de versões no mesmo fluxo.

Mas e se trabalhares apenas dentro da UI do Fabric? Nesse caso, continuas a precisar de uma forma de criar e manter ficheiros de configuração YAML. Como a própria UI do Fabric não oferece um editor nativo para YAML, tens de adicionar os ficheiros de configuração diretamente no repositório através da UI do Azure DevOps (ou da UI do GitHub, se for aí que o teu repositório está).

Em resumo:

  • VS Code = melhor prática, com validação local antes do commit.
  • UI do DevOps/GitHub = alternativa de recurso se não usares VS Code, mas ainda assim quiseres gerir as configs no repositório.

 

Porque é que a validação de YAML é importante

O YAML é flexível, mas também notoriamente sensível à indentação e estrutura. Basta um espaço mal colocado para quebrar completamente uma implementação, já que o código que consome o ficheiro espera propriedades muito específicas.

Para reduzir o risco de configurações malformadas chegarem aos ambientes, adicionámos duas salvaguardas antes de qualquer implentação:

1.Validação de esquema
Definimos um JSON Schema ao qual cada configuração YAML tem de obedecer.
Aqui está um excerto simplificado do schema:

 

Isto garante, no mínimo, que cada ficheiro de configuração declara o nome do modelo, o flag de ativação e define objetos numa das camadas do framework (bronze, silver, gold).

2.Script de validação em Python
Um script verifica todos os ficheiros YAML se estão em conformidade com esse esquema.

 

Além disso, também executa validações adicionais, como verificação de dependências, lógica de processamento delta e consistência de parâmetros.
Por exemplo, é assim que garante que as dependências entre camadas existem de facto:

 

Desta forma, se alguém escrever dependsOn: [“silver.MisspelledObject”], a validação falha antes sequer do ficheiro chegar ao DevOps.
O pipeline executa esta verificação antes de qualquer implementação, detetando problemas logo no início.

Dica para developers: ao trabalhar no VS Code, pode  correr o script de validação localmente antes de fazer commit. É como um corretor ortográfico para as tuas configurações — só que, em vez de apanhar erros em palavras, apanha lapsos que poderiam deitar abaixo todo o pipeline.

 

Estrutura do projeto para ambientes

Para manter as diferenças específicas de cada ambiente sob controlo, o projeto está organizado com uma estrutura de pastas clara:

ConfigFiles/
├── environments/
│    ├── dev/
│    │   └── *.yml   (configurações de desenvolvimento)
│    ├── test/
│    │   └── *.yml   (configurações de teste)
│    └── prod/
│        └── *.yml   (configurações de produção)
└── scripts/
├── config-schema.json
├── validate_config.py
└── deploy-configOnelake.ps1

Isto significa que:

  • Cada ambiente tem o seu próprio conjunto de ficheiros YAML — as configs no Dev não são automaticamente as mesmas do Test ou Prod.
  • O pipeline de implementação respeita esta separação, implementando apenas os ficheiros dentro da pasta correspondente.
  • Scripts e esquemas ficam centralizados em /scripts, sendo reutilizados em todos os ambientes.

Assim, embora o mesmo script de implementação seja executado em todas as fases, os inputs variam por ambiente. Isso permite diferenças controladas (por exemplo, caminhos de origem ou destinos diferentes) sem “hacks” ou ajustes manuais.

 

Pipeline de implementação no Azure DevOps

Depois da validação ter sucesso, o pipeline avança para o processo de implementação propriamente dito. Estruturámo-lo em quatro fases:

  1. Descobrir Modelos & Validar – Faz scan dos modelos disponíveis e executa a validação do esquema em todos os YAMLs.
  2. Implementação em Desenvolvimento – Envia os YAMLs para o ambiente Dev.
  3. Implementação em Teste – Promove os YAMLs validados para Test (requer aprovação manual antes da execução).
  4. Implementação em Produção – Última etapa: envia os YAMLs para Prod (também requer aprovação manual para avançar).

 

E é assim que se apresenta no Azure DevOps:

Esta abordagem baseada em fases garante que apenas os YAMLs validados e funcionais chegam aos ambientes superiores.

Um detalhe importante: as localizações dos ambientes (caminhos no OneLake, nomes de workspace, etc.) são armazenadas em variáveis do pipeline. Isto significa que o mesmo script de implementação em PowerShell é reutilizado em todos os ambientes. Sem duplicações, sem “hacks” específicos para cada ambiente — apenas um caminho de promoção limpo do Dev para o Prod, com governança integrada.

 

Implementação no OneLake

Após a validação, a etapa final da implementação é gerida por um script PowerShell que envia os ficheiros de configuração para o OneLake. O script trata de carregar os YAMLs validados para a localização do ambiente apropriado.

Aqui está um excerto simplificado do script:

Como os nomes dos workspaces e os caminhos de destino são passados como variáveis pelo pipeline, este mesmo script funciona sem problemas para Dev, Test e Prod.

 

Conclusão

Com validação, estrutura de pastas específica por ambiente e um pipeline de implementação em múltiplas fases, as configs YAML são promovidas de forma segura e consistente entre os ambientes.

  • Configurações inválidas são detetadas cedo, através do esquema e verificações personalizadas.
  • Os developers podem testar localmente no VS Code antes de fazer commit (ou adicionar as configs diretamente na UI do DevOps, caso não se use o VS Code).
  • Cada ambiente tem a sua própria pasta, mantendo as configs alinhadas mas não idênticas.
  • O mesmo script é reutilizado em Dev, Test e Prod (usando variáveis de ambiente).
  • As implementações para Test e Prod requerem aprovação manual, garantindo governança adicional.

E com isto, encerramos a série sobre frameworks de metadados:

  1. Parte 1 — Configuração com YAML
  2. Parte 2 — Registo com Eventhouse
  3. Parte 3 — Implementações com Azure DevOps (este artigo)

O que começou como um conjunto de tabelas de configuração dispersas é agora um framework estruturado, validado e automatizado, a funcionar no Microsoft Fabric.

 

Principais Conclusões

  • Os ficheiros YAML não são artefactos do Fabric — faz a implementação através de CI/CD externo (por exemplo, Azure DevOps).
  • Cria-os no VS Code (preferencial) ou diretamente na UI do Azure DevOps.
  • Valida cedo com JSON Schema + script Python (tanto localmente como nos pipelines).
  • Adiciona verificações personalizadas (como validação de dependências) para apanhar erros subtis.
  • Organiza as configs por ambiente (dev, test, prod) para manter separação limpa.
  • Usa variáveis de ambiente para que um único script consiga tratar todas as implementações.
  • Requer aprovações para Test e Prod, garantindo governança.

Autor

Rui Francisco Gonçalves

Rui Francisco Gonçalves

Senior Specialist

Partilhar

Conteúdos relacionados

Frameworks orientadas por metadados no Microsoft Fabric: Logging com Eventhouse (Parte 2) Blog

Frameworks orientadas por metadados no Microsoft Fabric: Logging com Eventhouse (Parte 2)

Logging no Microsoft Fabric com Eventhouse garante visibilidade centralizada e análise em tempo real de pipelines, usando KQL para ingestão escalável.

Como simplificar frameworks orientadas por metadados no Microsoft Fabric com YAML Blog

Como simplificar frameworks orientadas por metadados no Microsoft Fabric com YAML

Simplifique frameworks orientadas por metadados no Microsoft Fabric com YAML para ganhar escalabilidade, legibilidade e integração CI/CD.

Solução analítica em Fabric para garantir Escalabilidade, Single Source of Truth e Autonomia Use Cases

Solução analítica em Fabric para garantir Escalabilidade, Single Source of Truth e Autonomia

A nova arquitetura analítica baseada em Microsoft Fabric assegurou integração de dados, fiabilidade e escalabilidade, promovendo autonomia analítica e preparação para futuras exigências.

Applications of Multimodal Models | BI4ALL Talks Tech Talks

Applications of Multimodal Models | BI4ALL Talks

Transformação analítica na Cloud: Desempenho, escalabilidade e segurança em grande escala Use Cases

Transformação analítica na Cloud: Desempenho, escalabilidade e segurança em grande escala

Uma instituição financeira migrou para uma solução analítica na cloud desenvolvida pela BI4ALL, permitindo insights seguros, escaláveis e de alto desempenho para parceiros municipais e bancários.

Google Cloud Day: Powering the Next Wave of AI Tech Talks

Google Cloud Day: Powering the Next Wave of AI

video title

Vamos começar

Tem uma questão? Quer iniciar um novo projeto?
Contacte-nos

Menu

  • Expertise
  • Knowledge Centre
  • Sobre Nós
  • Carreiras
  • Contactos

Mantenha-se atualizado e impulsione o sucesso com inovação

Newsletter

2025 Todos os direitos reservados

Política de Privacidade e Proteção de Dados Política de Segurança de Informação
URS - ISO 27001
URS - ISO 27701
Cookies Settings

BI4ALL may use cookies to memorise your login data, collect statistics to optimise the functionality of the website and to carry out marketing actions based on your interests.
You can customise the cookies used in .

Opções para ativar ou desativar cookies por preferência.

Estes cookies são essenciais para fornecer serviços disponíveis no nosso site e permitir que possa usar determinados recursos no nosso site. Sem estes cookies, não podemos fornecer certos serviços no nosso site.

Estes cookies são usados para fornecer uma experiência mais personalizada no nosso site e para lembrar as escolhas que faz ao usar o nosso site.

Estes cookies são usados para reconhecer visitantes quando voltam ao nosso site. Isto permite-nos personalizar o conteúdo do site para si, cumprimentá-lo pelo nome e lembrar as suas preferências (por exemplo, a sua escolha de idioma ou região).

Estes cookies são usados para proteger a segurança do nosso site e dos seus dados. Isto inclui cookies que são usados para permitir que faça login em áreas seguras do nosso site.

Estes cookies são usados para coletar informações para analisar o tráfego no nosso site e entender como é que os visitantes estão a usar o nosso site. Por exemplo, estes cookies podem medir fatores como o tempo despendido no site ou as páginas visitadas, isto vai permitir entender como podemos melhorar o nosso site para os utilizadores. As informações coletadas por meio destes cookies de medição e desempenho não identificam nenhum visitante individual.

Estes cookies são usados para fornecer anúncios mais relevantes para si e para os seus interesses. Também são usados para limitar o número de vezes que vê um anúncio e para ajudar a medir a eficácia de uma campanha publicitária. Podem ser colocados por nós ou por terceiros com a nossa permissão. Lembram que já visitou um site e estas informações são partilhadas com outras organizações, como anunciantes.

Política de Privacidade