Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Infrastrukturanvändardatafunktioner ger anslutningar till infrastrukturresurser och objekt som stöds med hjälp av funktionen Hantera anslutningar i Infrastrukturportalen. Med den här funktionen kan du ansluta till dina Infrastruktur-datakällor utan att behöva skapa anslutningssträngar eller hantera autentiseringsuppgifter för åtkomst. För tygobjekt som inte är en datakälla kan du säkert ansluta till dessa objekt inom en funktion.
I den här artikeln lär du dig att:
- Skapa en ny anslutning för ditt användardatafunktionsobjekt.
- Använd din nya anslutning i funktionskoden.
- Ändra eller ta bort dataanslutningen.
Stödda objekt i Fabric-användardatafunktioner
Följande objekt stöds för närvarande för infrastrukturanvändardatafunktioner:
- Fabric SQL-databaser för läs-/skrivoperationer
- Fabriclager för läs-/skrivåtgärder
- Fabric lakehouses för läs-/skrivåtgärder för Lakehouse-filer och för skrivskyddade åtgärder för SQL-slutpunkten.
- Tygspeglade databaser för skrivskyddade operationer
- Fabricvariabelbibliotek för att definiera konfigurationsinställningar som variabler. Läs mer.
Skapa en ny dataanslutning för ditt användardatafunktionsobjekt
Alla dataanslutningar som du lägger till är associerade med ditt användardatafunktionsobjekt och kan refereras till i koden för någon av dina funktioner. Om du vill följa den här guiden behöver du ett befintligt Fabric-användardatafunktionsobjekt och en befintlig Fabric-datakälla.
1. Få åtkomst till funktionen Hantera anslutningar från Functions-portalen
I Läget Utveckla letar du upp och väljer Hantera anslutningar i menyfliksområdet i Funktionsportalredigeraren.
Fönstret som öppnas innehåller alla dataanslutningar som du har skapat. Välj Lägg till dataanslutning för att skapa en ny anslutning.
2. Välj din dataanslutning från OneLake-katalogen
När du väljer Lägg till dataanslutning öppnas OneLake-katalogen med en lista över alla datakällor som ditt användarkonto har åtkomst till. Listan filtreras så att den endast innehåller datakällor som stöds, varav vissa kan finnas på andra arbetsytor.
Välj din datakälla och välj sedan Anslut.
Anmärkning
Om du inte hittar den datakälla du letar efter kontrollerar du att du har rätt behörighet att ansluta till den. Du kan också se till att du använder en datakälla som stöds enligt listan i början av den här artikeln.
När den nya anslutningen till den valda datakällan har skapats visas den i sidofönstret på fliken Anslutningar. När du ser anslutningen noterar du det aliasfält som genererades för den. Du behöver det här aliaset för att referera till anslutningen från valfri funktion i användardatafunktionsobjektet.
3. Använd ditt anslutningsalias i funktionskoden
När du är tillbaka i portalredigeraren måste du lägga till aliaset för anslutningen som du skapade på fliken Manage Connections i koden. Det här aliaset skapas automatiskt baserat på namnet på det infrastrukturobjekt som du ansluter till.
I det här fallet använder vi ett kodexempel med namnet "Läsa data från en tabell i SQL Database". Du hittar det här exemplet genom att klicka på fliken Redigera och sedan klicka på knappen Infoga exempel och navigera till "SQL Database".
Det här är exempelkoden som infogades:
@udf.connection(argName="sqlDB",alias="<alias for sql database>")
@udf.function()
def read_from_sql_db(sqlDB: fn.FabricSqlConnection)-> list:
# Replace with the query you want to run
query = "SELECT * FROM (VALUES ('John Smith', 31), ('Kayla Jones', 33)) AS Employee(EmpName, DepID);"
# Establish a connection to the SQL database
connection = sqlDB.connect()
cursor = connection.cursor()
query.capitalize()
# Execute the query
cursor.execute(query)
# Fetch all results
results = []
for row in cursor.fetchall():
results.append(row)
# Close the connection
cursor.close()
connection.close()
return results
Anmärkning
Även om det här exemplet ansluter till en SQL Database behöver det inte något schema eller data i databasen för att köras.
Om du vill använda dataanslutningen som du skapade ändrar du följande rad i det här exemplet: @udf.connection(argName="sqlDB",alias="<alias for sql database>") genom att ersätta värdet alias för med den som du fick från Manage Connections menyn. Följande kod visar det här exemplet med värdet ContosoSalesDat:
@udf.connection(argName="sqlDB",alias="ContosoSalesDat")
@udf.function()
def read_from_sql_db(sqlDB: fn.FabricSqlConnection)-> list:
[...]
När du har ändrat koden kan du testa ändringarna med hjälp av testfunktionen i utvecklingsläge. När du är klar kan du publicera funktionen med knappen Publicera i verktygsfältet. Den här åtgärden kan ta några minuter.
När publiceringen är klar kan du köra funktionen genom att hovra på dess namn i listan Functions Explorer och klicka på knappen "Kör" på sidopanelen. Den nedre panelen "Utdata" visar resultatet av att köra funktionen.
Och det är allt du behöver för att ansluta till en datakälla från dina användardatafunktioner för infrastrukturresurser.
Hämta variabler från Fabric-variabelbibliotek
Ett fabriksvariabelbibliotek i Microsoft Fabric är en centraliserad lagringsplats för hantering av variabler som kan användas i olika objekt inom en arbetsyta. Det gör att utvecklare kan anpassa och dela objektkonfigurationer effektivt. Följ dessa steg för att använda variabelbibliotek i dina funktioner:
- Lägg till en anslutning till ett variabelbibliotek med hantera anslutningar och hämta aliaset för variabelbiblioteksobjektet.
- Lägg till en anslutningsdekoratör för variabelbiblioteksobjektet. Till exempel
@udf.connection(argName="varLib", alias="<My Variable Library Alias>")och ersätt alias till den nyligen tillagda anslutningen för variabelbiblioteksobjektet. - I funktionsdefinitionen inkluderar du ett argument med typen
fn.FabricVariablesClient. Den här klienten innehåller metoder som du behöver för att arbeta med biblioteksobjektet variabler. - Använd
getVariables()metoden för att hämta alla variabler från variabelbiblioteket. - Om du vill läsa värdena för variablerna använder du antingen
["variable-name"]eller.get("variable-name").
Exempel I det här exemplet simulerar vi ett konfigurationsscenario för en produktions- och utvecklingsmiljö. Den här funktionen anger en lagringssökväg beroende på den valda miljön med hjälp av ett värde som hämtats från variabelbiblioteket. Variabelbiblioteket innehåller en variabel med namnet ENV där användare kan ange värdet dev eller prod.
@udf.connection(argName="varLib", alias="<My Variable Library Alias>")
@udf.function()
def get_storage_path(dataset: str, varLib: fn.FabricVariablesClient) -> str:
"""
Description: Determine storage path for a dataset based on environment configuration from Variable Library.
Args:
dataset_name (str): Name of the dataset to store.
varLib (fn.FabricVariablesClient): Fabric Variable Library connection.
Returns:
str: Full storage path for the dataset.
"""
# Retrieve variables from Variable Library
variables = varLib.getVariables()
# Get environment and base paths
env = variables.get("ENV")
dev_path = variables.get("DEV_FILE_PATH")
prod_path = variables.get("PROD_FILE_PATH")
# Apply environment-specific logic
if env.lower() == "dev":
return f"{dev_path}{dataset}/"
elif env.lower() == "prod":
return f"{prod_path}{dataset}/"
else:
return f"incorrect settings define for ENV variable"
Relaterat innehåll
- Skapa ett datafunktionsobjekt för infrastrukturanvändare inifrån Infrastrukturresurser eller använd Visual Studio Code-tillägget
- Läs om programmeringsmodellen för användardatafunktioner