Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Met Gebruikersgegevensfuncties kunt u herbruikbare Python-functies maken die kunnen worden aangeroepen in Microsoft Fabric en vanuit externe toepassingen. Door uw bedrijfslogica te centraliseren in functies, kunt u consistentie behouden, duplicatie van code verminderen en werkstromen voor gegevenstransformatie in uw organisatie stroomlijnen.
Met gebruikersgegevensfuncties kunt u het volgende doen:
- Bedrijfslogica centraliseren : schrijf functies eenmaal en roep ze aan vanuit pijplijnen, notebooks, activatorregels en Power BI
- Naadloos integreren - Oproepfuncties via REST-eindpunten vanuit elke toepassing of service
- Ontwikkeling versnellen : vooraf gebouwde voorbeeldfuncties gebruiken of aangepaste functies maken met het Python-programmeermodel
- Consistentie behouden : zorg ervoor dat gegevenstransformaties en bedrijfsregels uniform worden toegepast op alle workloads
In deze quickstart ziet u hoe u uw eerste item gebruikersgegevensfuncties maakt, functies toevoegt uit de voorbeeldbibliotheek, aangepaste functies schrijft en uitvoert in de Fabric-portal. Aan het einde hebt u een werkende functie die de categoriestandaardisatie voor productgegevens demonstreert.
Wat u doet
In deze quickstart voert u de volgende taken uit:
- Een User Data Functions-item maken in uw werkruimte
- Vereiste Python-bibliotheken toevoegen en configureren (zoals pandas)
- Een functie invoegen uit de voorbeeldbibliotheek
- Een aangepaste functie schrijven met de juiste syntaxis en decorators
- Uw functies testen en publiceren
- Functies uitvoeren in de portal en resultaten weergeven
Vereiste voorwaarden
- Een Microsoft Fabric-capaciteit in een van de ondersteunde regio's. Als u geen Fabric-capaciteit hebt, start u een gratis fabric-proefversie.
- Een Fabric-werkruimte die is toegewezen aan die capaciteit
Een nieuw item voor gebruikersgegevensfuncties maken
Selecteer in uw werkruimte + Nieuw item.
Zoek en selecteer de tegel genaamd Gebruikersgegevensfuncties.
Voer een naam in voor het item gebruikersgegevensfuncties en selecteer Maken.
Selecteer het nieuwe functiebestand om een nieuwe voorbeeldfunctie te maken. De
hello_fabricPython-functie wordt gepubliceerd en geladen in de code-editor.In Functions Explorer worden alle functies weergegeven die zijn gepubliceerd en die gereed zijn om te worden aangeroepen. Omdat de functie is gepubliceerd, kunt u deze
hello_fabricuitvoeren vanuit de lijst met functies in Functions Explorer.
Een nieuwe functie toevoegen vanuit een voorbeeld
In dit voorbeeld ziet u hoe u een nieuwe functie toevoegt vanuit het menu Voorbeeld invoegen . In dit geval voegen we een functie toe met de naam Gegevens manipuleren met pandas-bibliotheek die de pandas bibliotheek als vereiste gebruikt.
Vereiste bibliotheken toevoegen
Zorg ervoor dat u zich in de ontwikkelmodus bevindt.
Selecteer Bibliotheekbeheer om de bibliotheken toe te voegen die uw functie nodig heeft.
Selecteer +Toevoegen uit PyPI om een nieuwe bibliotheek toe te voegen vanuit de openbare PyPI-opslagplaats.
Zoek en selecteer de pandas-bibliotheek en selecteer de versie. Zodra de bibliotheek is toegevoegd, wordt deze automatisch opgeslagen in het item User Data Functions.
U kunt desgewenst de versie van de
fabric_user_data_functionsbibliotheek bijwerken naar de meest recente beschikbare versie. Selecteer het potloodpictogram naast de bibliotheek om het bij te werken.Notitie
De
fabric_user_data_functionsbibliotheek is standaard opgenomen en kan niet worden verwijderd. Deze bibliotheek is vereist voor de functionaliteit van gebruikersgegevensfuncties. U moet de versie van deze bibliotheek bijwerken voor toekomstige versies van deze SDK.Sluit het deelvenster Bibliotheekbeheer om terug te keren naar de startpagina van User Data Functions.
De voorbeeldfunctie invoegen
Selecteer het tabblad Bewerken om meer bewerkingsopties in het lintmenu te openen.
Selecteer Voorbeeld invoegen>Gegevensmanipulatie>Gegevens manipuleren met de pandas-bibliotheek. Met deze actie wordt een nieuwe functie toegevoegd die gebruikmaakt van de
pandasbibliotheek om gegevens te bewerken.Nadat het voorbeeld in de editor is ingevoegd, ziet u dat de nieuwe functie wordt weergegeven in functionsverkenner met een cirkelpictogram ernaast. Dit pictogram geeft aan dat de functie is gewijzigd sinds deze voor het laatst is gepubliceerd, wat betekent dat er updates zijn die moeten worden gepubliceerd.
Een aangepaste functie schrijven
Nu u een functie uit de voorbeeldbibliotheek hebt toegevoegd, kunt u uw eigen aangepaste functie rechtstreeks in de code-editor schrijven. In deze sectie ziet u de syntaxis en structuur die nodig zijn om volledig nieuwe functies te maken.
Elke runnable functie vereist de @udf.function() decorator vóór de functiedefinitie. Deze decorator markeert uw Python-functie als uitvoerbaar binnen het framework User Data Functions. De basissyntaxis is:
@udf.function()
def your_function_name(parameter: type) -> return_type:
# Your function logic here
return result
Belangrijk
Parameternamen moeten camelCase gebruiken (bijvoorbeeld productName in plaats van product_name) en alle parameters zijn vereist. Zie Syntaxisvereisten en -beperkingen voor volledige syntaxisvereisten en -beperkingen.
Hier volgt een volledig voorbeeld dat productcategorieën standaardiseert op basis van onbewerkte verkoopgegevens:
# This function standardizes inconsistent product category names from different data sources
@udf.function()
def standardize_category(productName: str, rawCategory: str) -> dict:
# Define category mappings for common variations
category_mapping = {
"electronics": ["electronic", "electronics", "tech", "devices"],
"clothing": ["clothes", "clothing", "apparel", "fashion"],
"home_goods": ["home", "household", "home goods", "furniture"],
"food": ["food", "grocery", "groceries", "snacks"],
"books": ["book", "books", "reading", "literature"]
}
# Normalize the input
raw_lower = rawCategory.lower().strip()
# Find the standardized category
standardized = "other"
for standard_name, variations in category_mapping.items():
if raw_lower in variations:
standardized = standard_name
break
return {
"product_name": productName,
"original_category": rawCategory,
"standardized_category": standardized,
"needs_review": standardized == "other"
}
U kunt deze functie naast de bestaande functies toevoegen aan uw code-editor. De functie wordt weergegeven in de Functieverkenner met een cirkelpictogram, waarmee wordt aangegeven dat deze moet worden gepubliceerd.
Belangrijkste concepten van programmeermodel
Uw gebruikersgegevensfuncties gebruiken het Python-programmeermodel user data functions om afzonderlijke functies te maken, uit te voeren, fouten op te sporen en te wijzigen. Het programmeermodel wordt geleverd door het fabric-user-data-functions pakket, dat openbaar beschikbaar is op PyPI en vooraf is geïnstalleerd in de items van uw gebruikersgegevensfuncties.
Wanneer u uw eerste functie maakt, bevat het codebestand de vereiste importinstructies:
import datetime
import fabric.functions as fn
import logging
udf = fn.UserDataFunctions()
Belangrijke punten over het programmeermodel:
- Het
fabric-user-data-functionspakket bevat defabric.functionsmodule die u importeert zoalsfnin uw code. - Met
fn.UserDataFunctions()de aanroep wordt de uitvoeringscontext gemaakt die is vereist voor het definiëren en uitvoeren van functies binnen een item gebruikersgegevensfuncties. - Andere bibliotheken, zoals
loggingwaarmee u aangepaste logboeken kunt schrijven voor foutopsporing en bewaking.
Notitie
De import fabric.functions as fn instructie en de udf = fn.UserDataFunctions() regel zijn vereist om uw functies goed te laten werken. Uw functies werken niet als deze regels ontbreken.
Uw functies testen en publiceren
Nu u meerdere functies (de voorbeeldfunctie manipulate_data en uw aangepaste standardize_category functie) hebt gemaakt, kunt u deze samen testen en publiceren.
In de ontwikkelmodus kunt u elke functie testen met behulp van de functie Testen voordat u publiceert. Met testen kunt u uw codewijzigingen valideren zonder deze beschikbaar te maken voor externe aanroep.
Wanneer u klaar bent om uw functies beschikbaar te maken, selecteert u Publiceren om uw wijzigingen op te slaan en al uw functies bij te werken. Het publiceren kan enkele minuten duren.
Nadat het publiceren is voltooid, worden alle functies vernieuwd in de lijst functionsverkenner en worden de cirkelpictogrammen verwijderd. Uw functies zijn nu gereed om:
- Uitvoeren vanuit de portal in de modus Alleen uitvoeren
- Aangeroepen vanuit een ander Fabric-item, zoals een pijplijn, een notebook of een regel van de Activator.
- Aangeroepen vanuit een externe toepassing via het REST-eindpunt
Uw functies uitvoeren
Nu al uw functies zijn gemaakt, getest en gepubliceerd, kunt u nu overschakelen naar de modus Alleen uitvoeren om ze uit te voeren en de resultaten te bekijken.
Selecteer Alleen uitvoeren in de moduskiezer in de rechterbovenhoek van de portal.
Selecteer het pictogram Uitvoeren dat wordt weergegeven wanneer u de muisaanwijzer op een functie in de lijst functionsverkenner plaatst.
De voorbeeldfunctie uitvoeren
Plaats de muisaanwijzer in de Functieverkenner op de
manipulate_datafunctie.Selecteer de knop Uitvoeren die wordt weergegeven wanneer u de muisaanwijzer over de functie beweegt.
Aan de rechterkant van het scherm wordt een uitvoeringsvenster geopend.
In het deelvenster Uitvoeren ziet u de parameternaam data met het type
list. Voer de volgende JSON-waarde in het tekstvak in:[ { "Name": "John", "Age": 22, "Gender": "male" } ]Selecteer de knop Uitvoeren in het deelvenster Uitvoeren (naast de locatie waar u de JSON-gegevens hebt ingevoerd) om de functie uit te voeren.
Bekijk de resultaten en logboeken onder Uitvoer (lijst) in het uitvoerpaneel. De uitvoer toont de gemanipuleerde gegevens als een Pandas DataFrame in JSON-indeling.
De aangepaste functie uitvoeren
Probeer nu uw aangepaste standardize_category functie uit te voeren.
Plaats de muisaanwijzer in de Functieverkenner op de
standardize_categoryfunctie.Selecteer de knop Uitvoeren die wordt weergegeven wanneer u de muisaanwijzer over de functie beweegt.
Aan de rechterkant van het scherm wordt een uitvoeringsvenster geopend.
Testparameters opgeven:
-
productName:
Laptop Computer -
rawCategory:
tech
-
productName:
Selecteer Uitvoeren en bekijk de uitvoer, die de gestandaardiseerde categorie als 'elektronica' moet weergeven en de metagegevens over de categorisatie moet bevatten.
Functies beheren
Nadat u uw functies hebt gemaakt en uitgevoerd, kunt u deze indien nodig een andere naam geven of verwijderen. Voor alle beheerbewerkingen moet u zich in de ontwikkelmodus bevinden .
De naam van een functie wijzigen
Selecteer in de ontwikkelmodus de code-editor en werk de naam van de functie bij. Wijzig bijvoorbeeld de naam in
hello_fabrichello_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()}!"Nadat u de naam hebt gewijzigd, selecteert u Publish om deze wijzigingen op te slaan.
Zodra de wijzigingen zijn gepubliceerd, ziet u de nieuwe naam voor de functie in Functions Explorer.
Een functie verwijderen
Als u een functie wilt verwijderen, selecteert u de functiecode in de code-editor en verwijdert u de hele codesectie. Publiceer de wijzigingen om deze volledig te verwijderen uit het item met gebruikersgegevensfuncties.
Als u bijvoorbeeld de functie hello_fabric wilt verwijderen, verwijdert u het volgende codeblok:
@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()}!"
Nadat de code is verwijderd, kunt u Publiceren selecteren om uw wijzigingen op te slaan. Zodra het publiceren is voltooid, ziet u een bijgewerkte lijst met beschikbare functies in Functions Explorer.
Probleemoplossingsproces
Als u problemen ondervindt tijdens het werken met functies voor gebruikersgegevens:
-
De functie publiceert niet . Controleer op syntaxisfouten in uw code. Zorg ervoor dat alle vereiste importen (
fabric.functions) en deudf = fn.UserDataFunctions()regel aanwezig zijn. - Parameternaamgevingsfouten - Onthoud dat parameternamen camelCase moeten gebruiken (geen onderstrepingstekens). Controleer de syntaxisvereisten en -beperkingen.
- Fouten bij het importeren van bibliotheken: controleer of alle vereiste bibliotheken zijn toegevoegd via Bibliotheekbeheer en of de versie compatibel is met Python 3.11.
- Functie wordt niet weergegeven in Functions Explorer : zorg ervoor dat u uw wijzigingen hebt gepubliceerd nadat u functies hebt toegevoegd of gewijzigd.
Zie servicelimieten en overwegingen voor gebruikersgegevensfuncties voor meer hulp.
Verwante inhoud
Nu u uw eerste item User Data Functions hebt gemaakt, verkent u deze resources om uw vaardigheden uit te breiden:
- Een item voor fabricgebruikersgegevensfuncties maken in Visual Studio Code - Leer hoe u functies lokaal kunt ontwikkelen met volledige IDE-ondersteuning
- Meer informatie over het programmeermodel voor gebruikersgegevensfuncties - Meer informatie over de Python SDK en geavanceerde functies
- Gebruikersgegevensfuncties aanroepen vanuit een Python-toepassing - Roep uw functies aan vanuit externe toepassingen via REST API's
- Bibliotheken voor gebruikersgegevensfuncties beheren - Geavanceerde technieken voor bibliotheekbeheer leren