Partilhar via


Usar bibliotecas de variáveis Fabric no Dataflow Gen2 (Visão)

Observação

Este recurso está atualmente em pré-visualização e disponível apenas para Dataflow Gen2 com CI/CD. Para obter mais informações sobre como aproveitar esse recurso em cenários de integração contínua / implantação contínua (CI/CD), leia o artigo sobre arquiteturas de solução CI/CD e ALM para Dataflow Gen2 e o tutorial completo sobre referências de variáveis em um fluxo de dados.

As bibliotecas de variáveis do Microsoft Fabric oferecem uma maneira centralizada de gestionar valores de configuração em cargas de trabalho do Microsoft Fabric. Com a nova integração no Dataflow Gen2 (Preview), você pode referenciar essas variáveis diretamente em seu fluxo de dados, permitindo o comportamento dinâmico entre ambientes e simplificando os fluxos de trabalho de CI/CD.

Pré-requisitos

Para usar bibliotecas de variáveis de malha no Dataflow Gen2, verifique o seguinte:

Como usar bibliotecas de variáveis de malha no Dataflow Gen2

Dentro do seu Dataflow Gen2, você pode fazer referência a uma variável usando uma das seguintes funções:

O identificador esperado que deve ser passado para qualquer uma dessas duas funções deve seguir o formato de:

$(/**/LibraryName/VariableName)

Os exemplos a seguir para ambas as funções no cenário em que você tem uma biblioteca de variáveis chamada My Library e uma variável da cadeia de caracteres do tipo chamada My Variable:

Variable.ValueOrDefault("$(/**/My Library/My Variable)", "Sample")
Variable.Value("$(/**/My Library/My Variable)")

Aplicando essa função a um script de consulta, vamos pegar a seguinte consulta de exemplo que se conecta a uma tabela chamada Table1 de um LakehouseId e WorkspaceId específicos usando o conector Fabric Lakehouse.

let
  Source = Lakehouse.Contents([]),
  #"Navigation 1" = Source{[workspaceId = "cfafbeb1-8037-4d0c-896e-a46fb27ff229"]}[Data],
  #"Navigation 2" = #"Navigation 1"{[lakehouseId = "5b218778-e7a5-4d73-8187-f10824047715"]}[Data],
  #"Navigation 3" = #"Navigation 2"{[Id = "Table1", ItemKind = "Table"]}[Data]
in
  #"Navigation 3"

Você planeja substituir os valores passados para o workspaceId e o lakehouseId para que, em cenários de CI/CD, eles apontem dinamicamente para o item certo no estágio certo.

Para esse fim, no mesmo espaço de trabalho onde seu fluxo de dados está localizado, você também tem uma biblioteca de variáveis chamada Minha biblioteca que contém as seguintes variáveis que você planeja referenciar em seu fluxo de dados:

Nome da variável Tipo de variável Conjunto de valores padrão
ID do espaço de trabalho Cordão a8a1bffa-7eea-49dc-a1d2-6281c1d031f1
ID do Lakehouse Cordão 37dc8a41-dea9-465d-b528-3e95043b2356

Com essas informações, você pode modificar seu script de consulta para substituir os valores que resultam no próximo script:

let
  Source = Lakehouse.Contents([]),
  #"Navigation 1" = Source{[workspaceId = Variable.ValueOrDefault("$(/**/My Library/Workspace ID)",  "cfafbeb1-8037-4d0c-896e-a46fb27ff229")]}[Data],
  #"Navigation 2" = #"Navigation 1"{[lakehouseId =  Variable.ValueOrDefault("$(/**/My Library/Lakehouse ID)","5b218778-e7a5-4d73-8187-f10824047715")]}[Data],
  #"Navigation 3" = #"Navigation 2"{[Id = "Table1", ItemKind = "Table"]}[Data]
in
  #"Navigation 3"

Quando você executa o Dataflow com o script modificado, ele resolve para o valor da variável e o tipo de dados correto definido pela variável. Isto aponta para um Workspace e um Lakehouse diferentes, dependendo dos valores disponíveis no momento da execução do seu fluxo de dados.

Atenção

Atualmente, o editor do Power Query não suporta a avaliação de variáveis. Recomendamos o uso da função Variable.ValueOrDefault para garantir que sua experiência de criação use o valor padrão para prototipagem.

Usar um valor padrão por meio de Variable.ValueOrDefault garante que sua fórmula seja resolvida mesmo quando você copia ou move sua solução para outro ambiente que não tenha a biblioteca de variáveis de referência. Em tempo real, a variável é definida para o valor correto.

Considerações e limitações

A lista a seguir descreve restrições e comportamentos importantes a serem considerados ao usar bibliotecas de variáveis de malha com o Dataflow Gen2. Essas limitações afetam como as variáveis são referenciadas, avaliadas e aplicadas durante o design e o tempo de execução.

  • Escopo do espaço de trabalho: as bibliotecas de variáveis devem residir no mesmo espaço de trabalho que o Dataflow Gen2 com CI/CD.

  • Local de referência: As variáveis só podem ser usadas dentro do arquivo mashup.pq de um Dataflow Gen2 com CI/CD.

  • Comportamento de tempo de execução: os valores das variáveis são recuperados no início de uma operação de execução e persistem durante toda a operação. As alterações que acontecem em uma biblioteca durante uma execução de fluxo de dados não interrompem ou afetam sua execução.

  • Suporte ao editor do Power Query: Não há suporte atual para resolver ou avaliar variáveis no editor do Power Query.

  • Usando um valor padrão: Ao usar um valor padrão por meio da função Variable.ValueOrDefault, verifique se o tipo de dados do valor padrão corresponde ao tipo de dados da variável referenciada.

  • Tipos suportados: Somente variáveis de tipos básicos são suportadas (boolean, datetime, guid, integer, number, e string).

  • Conexões fixas: as variáveis não podem alterar as informações de conexão. As conexões permanecem vinculadas às configurações de caminho de recurso autoradas.

  • Risco de substituição: os usuários com acesso para modificar bibliotecas de variáveis podem substituir valores de variáveis, afetando potencialmente a saída do fluxo de dados.

  • Mapeamento de esquema: as variáveis não podem modificar mapeamentos de esquema de destino; Os mapeamentos seguem a configuração criada.

  • Visibilidade de linhagem: as exibições de linhagem não mostram links entre o Dataflow Gen2 e as bibliotecas de variáveis às quais ele faz referência.

  • Limite de variáveis: Os fluxos de dados só podem recuperar um máximo de 50 variáveis.

  • Suporte a SPN: os fluxos de dados só podem ser atualizados com êxito se a atualização não estiver usando um SPN para autenticação.