Dela via


Använda infrastrukturvariabelbibliotek i Dataflow Gen2 (förhandsversion)

Anmärkning

Den här funktionen är för närvarande i förhandsversion och är endast tillgänglig för Dataflow Gen2 med CI/CD. Mer information om hur du använder den här funktionen i kontinuerliga integrerings-/kontinuerliga distributionsscenarier (CI/CD) finns i artikeln om CI/CD- och ALM-lösningsarkitekturer för Dataflow Gen2 och självstudien från slutpunkt till slutpunkt om variabelreferenser i ett dataflöde.

Fabric-variabelbibliotek erbjuder ett centraliserat sätt att hantera konfigurationsvärden för Microsoft Fabric-uppgifter. Med den nya integreringen i Dataflow Gen2 (förhandsversion) kan du referera till dessa variabler direkt i ditt dataflöde, vilket möjliggör dynamiskt beteende i miljöer och förenklar CI/CD-arbetsflöden.

Förutsättningar

För att använda Fabric-variabelbibliotek i Dataflow Gen2, säkerställ följande:

Så här använder du Fabric-variabelbibliotek i Dataflow Gen2

I dataflödet Gen2 kan du referera till en variabel med någon av följande funktioner:

Den förväntade identifierare som måste skickas till någon av dessa två funktioner måste följa formatet:

$(/**/LibraryName/VariableName)

Följande exempel för båda funktionerna i scenariot där du har ett variabelbibliotek med namnet Mitt bibliotek och en variabel av typen sträng med namnet Min variabel:

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

Genom att tillämpa den här funktionen på ett frågeskript ska vi ta följande exempelfråga som ansluter till en tabell med namnet Table1 från ett specifikt LakehouseId och WorkspaceId med hjälp av Fabric Lakehouse-anslutningsappen.

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"

Du planerar att ersätta de värden som skickas för workspaceId och lakehouseId så att det i CI/CD-scenarier dynamiskt pekar på rätt objekt i rätt fas.

För detta ändamål har du i samma arbetsyta där dataflödet finns även ett variabelbibliotek med namnet Mitt bibliotek som innehåller följande variabler som du planerar att referera till i ditt dataflöde:

Variabelnamn Variabeltyp Standardvärdeuppsättning
Arbetsplats-ID String a8a1bffa-7eea-49dc-a1d2-6281c1d031f1
Lakehouse-ID String 37dc8a41-dea9-465d-b528-3e95043b2356

Med den här informationen kan du ändra frågeskriptet så att det ersätter de värden som resulterar i nästa skript:

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"

När du kör dataflödet med det ändrade skriptet resulterar det i värdet från variabeln och det korrekta dataformatet som definieras av variabeln. Detta pekar på en annan arbetsyta och Lakehouse beroende på de värden som är tillgängliga vid tidpunkten då dataflödet körs.

Försiktighet

Power Query-redigeraren stöder för närvarande inte utvärdering av variabler. Vi rekommenderar att du använder funktionen Variable.ValueOrDefault för att säkerställa att redigeringsupplevelsen använder standardvärdet för prototyper.

Om du använder ett standardvärde via Variable.ValueOrDefault ser du till att formeln matchar även när du kopierar eller flyttar lösningen till en annan miljö som inte har referensvariabelbiblioteket. Vid körning löses variabeln till det korrekta värdet.

Överväganden och begränsningar

I följande lista beskrivs viktiga begränsningar och beteenden att tänka på när du använder infrastrukturvariabelbibliotek med Dataflow Gen2. Dessa begränsningar påverkar hur variabler refereras till, utvärderas och tillämpas under design och körning.

  • Omfång för arbetsyta: Variabelbibliotek måste finnas på samma arbetsyta som Dataflöde Gen2 med CI/CD.

  • Referensplats: Variabler kan bara användas i mashup.pq-filen i ett Dataflöde Gen2 med CI/CD.

  • Körningsbeteende: Variabler hämtas i början av en körningsåtgärd och sparas under hela åtgärden. Ändringar som sker i ett bibliotek under en Dataflödeskörning stoppar eller påverkar inte körningen.

  • Stöd för Power Query-redigeraren: Inget aktuellt stöd för att lösa eller utvärdera variabler i Power Query-redigeraren.

  • Använd ett standardvärde: När du använder ett standardvärde via funktionen Variable.ValueOrDefault kontrollerar du att datatypen för standardvärdet matchar datatypen för den refererade variabeln.

  • Typer som stöds: Endast variabler av grundläggande typer stöds (boolean, , datetimeguid, integer, numberoch string).

  • Fasta anslutningar: Variabler kan inte ändra anslutningsinformation. Anslutningarna förblir fasta till konfigurationerna för den ursprungliga resurssökvägen.

  • Åsidosätt risk: Användare med åtkomst till att ändra variabelbibliotek kan åsidosätta variabelvärden, vilket kan påverka dataflödesutdata.

  • Schemamappning: Variabler kan inte ändra målschemamappningar. mappningar följer den skapade installationen.

  • Synlighet för ursprung: Ursprungsvyer visar inte länkar mellan Dataflöde Gen2 och de variabelbibliotek som den refererar till.

  • Variabelgräns: Dataflöden kan bara hämta högst 50 variabler.

  • SPN-stöd: Dataflöden kan bara uppdateras om uppdateringen inte använder ett SPN för autentisering.