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.
I denne veiledningen skal vi opprette et nytt element for brukerdatafunksjoner og skrive nye funksjoner i det. Hvert element for brukerdatafunksjoner inneholder kode som definerer én eller mange funksjoner som du kan kjøre individuelt.
Spesielt lærer du hvordan du:
- Opprett et element for brukerdatafunksjoner.
- Skriv en ny funksjon.
- Administrer funksjoner.
- Kjør funksjonen.
Forutsetninger
- En Microsoft Fabric-kapasitet i ett av de støttede områdene. Hvis du ikke har en Fabric-kapasitet, kan du opprette en prøvekapasitet gratis.
- Et Fabric Workspace koblet til denne kapasiteten
Opprett et nytt fabric user data functions-element
- Velg arbeidsområdet, og velg + Nytt element.
- Velg Elementtype som Alle elementer. Søk etter og velg Brukerdatafunksjoner.
Opprett et nytt element for brukerdatafunksjoner
Velg + Nytt elementi arbeidsområdet.
Søk etter
user data functionsi ruten som åpnes, og velg deretter flisen.Angi et navn for elementet for brukerdatafunksjoner.
Velg Ny funksjon for å opprette en
hello_fabricPython-funksjonsmal. Funksjonsutforskeren viser alle funksjonene som er publisert og klare til å aktiveres.Når
hello_fabric-funksjonen er publisert, kan du kjøre den fra listen over funksjoner i Funksjonsutforsker.
Legg til en ny funksjon fra eksempel
Dette er et eksempel på hvordan du legger til en ny funksjon fra Insert sample-menyen. I dette tilfellet legger vi til en funksjon kalt Manipulate data with pandas library som bruker pandas biblioteket som et krav. Følg fremgangsmåten for å legge til denne eksempelfunksjonen:
Sørg for at du er i redigeringsmodus. Velg bibliotekbehandling for å legge til bibliotekene som funksjonen krever.
Notat
fabric_user_data_functionsbiblioteket legges til som standard og kan ikke fjernes. Dette biblioteket kreves for funksjonaliteten til brukerdatafunksjoner. Du må oppdatere versjonen av dette biblioteket for eventuelle fremtidige versjoner av denne SDK-en.Velg pandaer biblioteket, og velg versjonen. Når biblioteket er lagt til, lagres det automatisk i elementet Brukerdatafunksjoner.
Velg Sett inn eksempel, og velg Manipulere data med pandabibliotek. Denne handlingen setter inn eksempelkode nederst i koden, etter de andre funksjonene.
Når eksemplet er satt inn i redigeringsprogrammet, tester du det ved hjelp av Test-funksjonen i redigeringsmodus.
Når du er klar, kan du velge Publiser for å lagre endringene og oppdatere funksjonene. Publiseringen kan ta noen minutter.
Når publiseringen er fullført, vil du se den nye funksjonen i funksjonsutforskerlisten. Denne funksjonen er nå klar til å kjøres fra portalen, eller startes fra et annet program eller strukturelement, for eksempel et datasamlebånd.
Kjør funksjonen
For å kjøre funksjonen din, må du først bytte til Bare kjør-modus ved å klikke på modusbytteren.
Velg Kjør-ikonet som vises når du holder pekeren over en funksjon i funksjonsutforskerlisten.
Send de nødvendige parameterne som presenteres som et skjema i Funksjonsutforsker. I dette tilfellet skal vi kjøre
manipulate_data-funksjonen som krever en JSON-streng som parameter.[ { "Name": "John", "Age": 22, "Gender": "male" } ]Velg Kjør for å kjøre funksjonen.
Du kan se de dynamiske loggene og utdataene for funksjonen for å validere om den kjørte. Alternativt ser du en feilmelding og logger fra funksjonsinvokasjonen.
Skrive en ny funksjon
Hver kjørbare funksjon starter med en @udf.function() dekoratør før funksjonsdefinisjonen. Les mer om Python-programmeringsmodellen. Hvis du vil skrive en ny funksjon, bruker du dekoratøren @udf.function() i begynnelsen for å deklarere den som en kjørbar funksjon. Her er en eksempelfunksjon:
# This sample allows you to pass a credit card number as an integer and mask it, leaving the last 4 digits.
@udf.function()
def maskCreditCard(cardNumber: int)-> str:
# Convert the card number to a string
cardNumberStr = str(cardNumber)
# Check if the card number is valid
if not cardNumberStr.isdigit() or not (13 <= len(cardNumberStr) <= 19):
raise ValueError("Invalid credit card number")
# Mask all but the last four digits
maskedNumber = '*' * (len(cardNumberStr) - 4) + cardNumberStr[-4:]
return str(maskedNumber)
Når funksjonen er klar, publiserer du funksjonen for å kjøre den.
Nøkkelkonsepter for programmeringsmodell
Brukerdatafunksjonene bruker Python-programmeringsmodellen for brukerdatafunksjoner til å opprette, kjøre, feilsøke og endre individuelle funksjoner. Dette er et førstepartsbibliotek som gir den nødvendige funksjonaliteten til å aktivere funksjonene dine i Fabric og dra nytte av alle integreringene.
Når du har opprettet den første funksjonen, vil de første linjene i koden inneholde importsetningene med de nødvendige bibliotekene for å kjøre malen.
import datetime
import fabric.functions as fn
import logging
udf = fn.UserDataFunctions()
Notat
Importsetningen som inneholder fabric.functions biblioteket, og linjen som inneholder denne setningen udf = fn.UserDataFunctions() er nødvendig for å kjøre funksjonene på riktig måte. Funksjonene fungerer ikke som de skal hvis disse linjene mangler.
- Hvis du vil opprette, kjøre, administrere funksjoner, må du
fabric.functionsSDK og få andre viktige biblioteker, for eksempellogginglar deg skrive egendefinerte logger. -
udf=fn.UserDataFunctions()er konstruksjonen for å definere funksjoner i et brukerdatafunksjonselement.
Behandle datafunksjoner
Gi nytt navn til en funksjon
I redigeringsmodus velger du i koderedigeringsprogrammet og oppdaterer navnet på funksjonen. Gi for eksempel nytt navn
hello_fabrictilhello_fabric1:@udf.function() def hello_fabric1(name: str) -> str: logging.info('Python UDF trigger function processed a request.') return f"Welcome to Fabric Functions, {name}, at {datetime.datetime.now()}!"Når du har endret navnet, velger du Publiser for å lagre disse endringene.
Når endringene er publisert, kan du vise det nye navnet på funksjonen i Funksjonsutforsker.
Slett en funksjon
Hvis du vil slette en funksjon, velger du funksjonskode i koderedigeringsprogrammet og fjerner hele kodeinndelingen. Publiser endringene for å slette den helt fra elementet for brukerdatafunksjoner.
Hvis du for eksempel vil slette hello_fabric-funksjonen, fjerner du følgende kodeblokk:
@udf.function()
def hello_fabric(name: str) -> str:
logging.info('Python UDF trigger function processed a request.')
return f"Welcome to Fabric Functions, {name}, at {datetime.datetime.now()}!"
Når koden er fjernet, kan du velge Publiser for å lagre endringene. Når publiseringen er fullført, ser du en oppdatert liste over tilgjengelige funksjoner i Funksjonsutforsker.