Del via


Koble til Fabric-elementer fra Fabric Userdata-funksjonselementet

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:

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.

Skjermbilde av redigeringsprogrammet for funksjonsportalen med knappen behandle tilkoblinger uthevet.

Ruten som åpnes, inneholder alle datatilkoblinger du opprettet. Velg Legg til datatilkobling for å opprette en ny tilkobling.

Skjermbilde av sideruten med tilkoblingsfanen valgt og ingen tilkoblinger oppført.

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.

Skjermbilde av OneLake-datakatalogen med en liste over datakilder.

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.

Skjermbilde av sideruten for tilkoblinger med en ny datakildetilkobling opprettet.

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.

Skjermbilde av Sett inn eksempeldatakatalog med en liste over datakilder.

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.

Skjermbilde av Publiser-knappen.

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.

Skjermbilde av sidepanelet som brukes til å kjøre en funksjon.

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:

  1. Legg til en tilkobling til et variabelbibliotek ved hjelp av Administrer tilkoblinger , og få aliaset for det variable bibliotekelementet.
  2. 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.
  3. I funksjonsdefinisjonen tar du med et argument med typen fn.FabricVariablesClient. Denne klienten inneholder metoder du trenger for å arbeide med variabelbibliotekelementet.
  4. Bruk getVariables() metoden for å hente alle variablene fra variabelbiblioteket.
  5. 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"