Merk
Tilgang til denne siden krever autorisasjon. Du kan prøve å logge på eller endre kataloger.
Tilgang til denne siden krever autorisasjon. Du kan prøve å endre kataloger.
Funksjoner for strukturbrukerdata gir tilkoblinger til støttede strukturdatakilder og -elementer ved hjelp av funksjonen Behandle tilkoblinger i Strukturportalen. Med denne funksjonen kan du koble til Fabric-datakildene uten å måtte opprette tilkoblingsstrenger eller administrere tilgangslegitimasjon. For tekstilelementer som ikke er en datakilde, kan du koble til disse elementene i en funksjon på en sikker måte.
I denne artikkelen lærer du hvordan du:
- Opprett en ny tilkobling for elementet for brukerdatafunksjoner.
- Bruk den nye tilkoblingen i funksjonskoden.
- Endre eller slette datatilkoblingen.
Støttede elementer i Fabric Userdata-funksjoner
Følgende elementer støttes for øyeblikket for funksjoner for strukturbrukerdata:
- Fabric SQL-databaser for lese-/skriveoperasjoner
- Stofflagre for lese-/skriveoperasjoner
- Fabric lakehouses for lese-/skriveoperasjoner for Lakehouse-filer og for skrivebeskyttede operasjoner for SQL Endpoint.
- Stoffspeilede databaser for skrivebeskyttede operasjoner
- Stoffvariabelbibliotek for å definere konfigurasjonsinnstillinger som variabler. Finn ut mer.
Opprett en ny datatilkobling for brukerdatafunksjonselementet
Alle datatilkoblinger du legger til, er knyttet til elementet for brukerdatafunksjoner og kan refereres til i koden for alle funksjonene dine. Hvis du vil følge denne veiledningen, trenger du et eksisterende fabric user-datafunksjonselement og en eksisterende Fabric-datakilde.
1. Få tilgang til funksjonen Behandle tilkoblinger fra Functions-portalen
I redigeringsmodus finner og velger du Administrer tilkoblinger på båndet i redigeringsprogrammet for Functions-portalen.
Ruten som åpnes, inneholder alle datatilkoblinger du opprettet. Velg Legg til datatilkobling for å opprette en ny tilkobling.
2. Velg datatilkoblingen fra OneLake-katalogen
Når du velger Legg til datatilkobling, åpnes OneLake-katalogen med en liste over alle datakildene brukerkontoen har tilgang til. Listen er filtrert for å inkludere bare støttede datakilder, hvorav noen kan være i andre arbeidsområder.
Velg datakilden, og velg deretter Koble til.
Notat
Hvis du ikke finner datakilden du leter etter, må du kontrollere at du har de riktige tillatelsene til å koble til den. Du kan også kontrollere at du bruker en støttet datakilde, som oppført i begynnelsen av denne artikkelen.
Når den er opprettet, vises den nye tilkoblingen til datakilden du valgte, i sideruten på fanen Tilkoblinger. Når du ser tilkoblingen, noterer du Alias-feltet som ble generert for den. Du trenger dette aliaset for å referere til tilkoblingen fra en hvilken som helst funksjon i elementet for brukerdatafunksjoner.
3. Bruk tilkoblingsaliaset i funksjonskoden
Når du er tilbake i portalredigeringsprogrammet, må du legge til aliaset for tilkoblingen du opprettet i Manage Connections-fanen i koden. Dette aliaset opprettes automatisk basert på navnet på Fabric-elementet du kobler til.
I dette tilfellet bruker vi et kodeeksempel kalt "Les data fra en tabell i SQL Database". Du finner dette eksemplet ved å klikke på Rediger-fanen, deretter klikke på Sett inn eksempel-knappen og navigere til SQL-database.
Dette er eksempelkoden som ble satt inn:
@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
Notat
Selv om dette eksemplet kobles til en SQL-database, trenger det ikke et skjema eller data i databasen for å kjøre.
Hvis du vil bruke datatilkoblingen du opprettet, endrer du følgende linje i dette eksemplet: @udf.connection(argName="sqlDB",alias="<alias for sql database>") ved å erstatte verdien for alias med den du fikk fra Manage Connections-menyen. Følgende kode viser dette eksemplet med verdien ContosoSalesDat:
@udf.connection(argName="sqlDB",alias="ContosoSalesDat")
@udf.function()
def read_from_sql_db(sqlDB: fn.FabricSqlConnection)-> list:
[...]
Når du har endret koden, kan du teste endringene ved hjelp av Test-funksjonen i redigeringsmodus. Når du er klar, kan du publisere funksjonen din ved å bruke Publiser-knappen på verktøylinjen. Denne operasjonen kan ta noen minutter.
Når publiseringen er fullført, kan du kjøre funksjonen ved å holde pekeren over navnet i Funksjonsutforsker-listen og klikke på Kjør-knappen i sidepanelet. Bunnpanelet "Output" viser resultatet av å kjøre funksjonen.
Og det er alt du trenger for å koble til en datakilde fra Fabric User Data Functions.
Hent variabler fra Fabric-variabelbiblioteker
Et Fabric Variable Library i Microsoft Fabric er et sentralisert repositorium for administrasjon av variabler som kan brukes på tvers av ulike elementer i et arbeidsområde. Det lar utviklere tilpasse og dele varekonfigurasjoner effektivt. Følg denne fremgangsmåten for å bruke variable biblioteker i funksjonene:
- Legg til en tilkobling til et variabelbibliotek ved hjelp av Administrer tilkoblinger , og få aliaset for det variable bibliotekelementet.
- Legg til en tilkoblingsdekorator for det variable bibliotekelementet. Du kan for eksempel
@udf.connection(argName="varLib", alias="<My Variable Library Alias>")erstatte alias til den nylig tilføyde tilkoblingen for det variable bibliotekelementet. - I funksjonsdefinisjonen tar du med et argument med typen
fn.FabricVariablesClient. Denne klienten inneholder metoder du trenger for å arbeide med variabelbibliotekelementet. - Bruk
getVariables()metoden for å hente alle variablene fra variabelbiblioteket. - For å lese verdiene til variablene bruker du enten
["variable-name"]eller.get("variable-name").
Eksempel I dette eksemplet simulerer vi et konfigurasjonsscenario for et produksjons- og utviklingsmiljø. Denne funksjonen angir en lagringsbane avhengig av det valgte miljøet ved hjelp av en verdi hentet fra variabelbiblioteket. Variabelbiblioteket inneholder en variabel kalt ENV der brukere kan angi en verdi på 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"