Controle do código-fonte (versão prévia)

Aplica-se a:✅ Warehouse do Microsoft Fabric

Este artigo explica como os pipelines de integração e implantação do Git funcionam para armazéns no Microsoft Fabric. Saiba como configurar uma conexão com seu repositório, gerenciar seus warehouses e implantá-los em diferentes ambientes. O controle de código-fonte do Fabric Warehouse está atualmente como um recurso em prévia.

É possível usar ambos integração do Git e pipelines de implantação para diferentes cenários:

  • Use projetos de banco de dados Git e SQL para gerenciar alterações incrementais, colaboração em equipe e histórico de confirmação em objetos de banco de dados individuais.
  • Utilize pipelines de implantação para promover alterações de código em diferentes ambientes de pré-produção e produção.

Integração do Git

A integração do Git no Microsoft Fabric permite que os desenvolvedores integrem seus processos de desenvolvimento, ferramentas e práticas recomendadas diretamente na plataforma Fabric. Ele permite que os desenvolvedores que estão desenvolvendo em Fabric:

  • Façam backup e versionamento de seu trabalho
  • Volte para estágios anteriores, conforme necessário
  • Colaborar com outras pessoas ou trabalhar sozinho usando branches do Git
  • Aplicar os recursos de ferramentas de controle do código-fonte familiares para gerenciar Fabric itens

Para obter mais informações sobre o processo de integração do Git, consulte:

Configurar uma conexão com o controle do código-fonte

Nas página Configurações do espaço de trabalho, você poderá configurar facilmente uma conexão com seu repositório a fim de confirmar e sincronizar alterações.

  1. Para configurar a conexão, consulte Introdução à integração do Git. Siga as instruções para Conectar a um repositório Git no Azure DevOps ou GitHub como um provedor Git.
  2. Uma vez conectados, seus itens, incluindo warehouses, aparecem no painel de Controle do código-fonte. Screenshot do portal Fabric do armazém nas configurações de controle do código-fonte.
  3. Depois de conectar com êxito as instâncias do warehouse ao repositório do Git, você visualizará a estrutura de pastas do warehouse no repositório. Agora você poderá executar operações futuras, como criar uma solicitação de pull.

Projetos de banco de dados para um warehouse no Git

A imagem a seguir é um exemplo da estrutura de arquivos de cada item de warehouse no repositório:

Screenshot do portal Fabric de um esquema de exemplo de warehouse.

Ao confirmar o item do warehouse para o repositório do Git, o warehouse é convertido em um formato de código-fonte, como um projeto de banco de dados SQL. Um projeto SQL é uma representação local de objetos SQL que compõem o esquema de um banco de dados individual, como tabelas, procedimentos armazenados ou funções. A estrutura de pastas dos objetos de banco de dados é organizada por Tipo de esquema/objeto. Cada objeto no warehouse é representado com um arquivo .sql que contém sua definição de DDL (linguagem de definição de dados). Os dados da tabela do warehouse e os recursos de segurança do SQL não estão incluídos no projeto do banco de dados SQL.

As consultas compartilhadas também são confirmadas no repositório e herdam o nome em que são salvas.

Pipelines de implantação

Também é possível usar o pipeline de implantação para implantar o código do warehouse em diferentes ambientes, como desenvolvimento, teste e produção. Os fluxos de implantação não expõem um projeto de banco de dados.

Para finalizar a implantação do armazém de dados usando o pipeline de implantação, siga as etapas a seguir.

  1. Crie um novo pipeline de implantação ou abra um já existente. Para obter mais informações, consulte Introdução aos pipelines de implantação.
  2. Atribua espaços de trabalho para diferentes etapas de acordo com seus objetivos de implantação.
  3. Selecione, exiba e compare itens, incluindo armazéns, entre diferentes estágios, conforme mostrado no exemplo a seguir. Captura de tela do portal Fabric dos estágios de desenvolvimento, teste e produção.
  4. Selecione Implantar para implantar seus warehouses nas fases de Desenvolvimento, Teste e Produção.

Para obter mais informações sobre o processo de pipelines de implantação do Fabric, consulte Introdução aos pipelines de implantação.

Limitações no controle do código-fonte

  • Você deve exportar ou migrar recursos de segurança do SQL usando uma abordagem baseada em script. Considere usar um script pós-implantação em um projeto de banco de dados SQL. Você pode configurar esse script abrindo o projeto com a extensão SQL Database Projects disponível em Visual Studio Code.

Limitações na integração do Git

  • Atualmente, se você usar ALTER TABLE para adicionar uma restrição ou coluna no projeto de banco de dados, o processo de implantação descartará e recriará a tabela, o que resultará em perda de dados. Para preservar a definição e os dados da tabela, considere a seguinte solução alternativa:
    • Crie uma nova cópia da tabela no data warehouse usando CREATE TABLE e INSERT, CREATE TABLE AS SELECT ou Clonar tabela.
    • Modifique a nova definição de tabela com novas restrições ou colunas, conforme desejado, usando ALTER TABLE.
    • Exclua a tabela antiga.
    • Renomeie a nova tabela para o nome da tabela antiga usando sp_rename.
    • Modifique a definição da tabela antiga no projeto do banco de dados SQL exatamente da mesma maneira. O projeto do banco de dados SQL do armazém no controle do código-fonte e o armazém em operação agora devem corresponder.
  • Atualmente, não crie um Dataflow Gen2 com um destino de saída para o armazém. Um novo item nomeado DataflowsStagingWarehouse aparece no repositório e bloqueia a confirmação e a atualização do Git.
  • A integração Git do Fabric não dá suporte ao endpoint de análise SQL.
  • Dependências cruzadas entre itens, sequência de itens e falhas de sincronização entre o endpoint de análise SQL e o data warehouse impactam os fluxos de trabalho "criando um branch para um workspace novo ou existente" e "mudando para um branch diferente" durante o desenvolvimento e a integração contínua.

Limitações das pipelines de implantação

  • Atualmente, se você usar ALTER TABLE para adicionar uma restrição ou coluna no projeto de banco de dados, o processo de implantação descartará e recriará a tabela, o que resultará em perda de dados.
  • Atualmente, não crie um Dataflow Gen2 com um destino de saída para o armazém. Um novo item nomeado DataflowsStagingWarehouse aparece no pipeline de implantação e bloqueia a implantação.
  • Pipelines de Implantação do Fabric não dão suporte ao item do endpoint de análise SQL.
  • Dependências entre itens, sequenciamento de itens e lacunas de sincronização entre o ponto de extremidade de análise do SQL e o data warehouse afetam os fluxos de trabalho dos Pipelines de Implantação do Fabric.

Cenários sem suporte

Os fluxos de trabalho de CI/CD a seguir não têm suporte oficial quando os repositórios em diferentes espaços de trabalho possuem ordenações distintas. Embora essas operações possam ter êxito sem erros, elas podem resultar em erros de metadados.

Em todos esses cenários, se ocorrer uma incompatibilidade de ordenação, use o script em Python scripts/dw-collation-error-update-tmsl/pbi_interactive.py no repositório do GitHub da caixa de ferramentas do Fabric para atualizar a ordenação do conjunto de dados (TMSL) para corresponder à ordenação do armazém de dados.

Scenario Descrição Risco
Pipelines de implantação Promover o conteúdo do depósito por meio de estágios de pipeline (por exemplo, Dev → Test → Prod), em que o depósito de destino foi criado com uma ordenação diferente da origem, não é suportado. A implantação pode ter êxito, mas a ordenação do conjunto de dados não é atualizada para corresponder à do armazém de dados de destino.
Acessando um ambiente de trabalho novo ou existente Não há suporte para usar a integração do Git para ramificar de um workspace existente para um workspace novo ou existente em que o armazém tenha uma ordenação diferente. O conteúdo do warehouse é sincronizado, mas os metadados de ordenação não são reconciliados.
Alternar ramificações em um espaço de trabalho Não há suporte para alternar para uma ramificação associada a um warehouse de uma ordenação diferente em um workspace conectado ao Git. O conteúdo sincronizado pode carregar suposições de ordenação que não correspondem ao armazém atual.
Mesclando alterações entre espaços de trabalho por meio de ramificações Não há suporte para a mesclagem de branches do Git entre workspaces em que os repositórios têm intercalações diferentes. A mesclagem pode ter êxito no nível do Git, mas a ordenação do conjunto de dados resultante não reflete a ordenação do armazém de dados de destino.