Poznámka
Na prístup k tejto stránke sa vyžaduje oprávnenie. Môžete sa skúsiť prihlásiť alebo zmeniť adresáre.
Na prístup k tejto stránke sa vyžaduje oprávnenie. Môžete skúsiť zmeniť adresáre.
V tejto príručke vytvoríme novú položku používateľské údajové funkcie a zapíšeme do nej nové funkcie. Každá položka používateľských údajových funkcií obsahuje kód definujúci jednu alebo viacero funkcií, ktoré môžete spustiť jednotlivo.
Konkrétne sa naučíte:
- Vytvorte položku údajových funkcií používateľa.
- Napíšte novú funkciu.
- Spravovanie funkcií.
- Spustite svoju funkciu.
Požiadavky
- Kapacita služby Microsoft Fabric v jednej z podporovaných oblastí. Ak nemáte kapacitu služby Fabric, môžete si vytvoriť skúšobnú kapacitu zdarma.
- Pracovný priestor služby Fabric prepojený na danú kapacitu
Vytvorenie novej položky používateľských údajových funkcií služby Fabric
- Vyberte pracovný priestor a vyberte položku + Nová položka.
- Vyberte položku Typ položky ako Všetky položky. Vyhľadajte a vyberte údajové funkcie používateľov.
Vytvorenie novej položky údajových funkcií používateľa
V pracovnom priestore vyberte položky + Nová položka.
Na table, ktorá sa otvorí, vyhľadajte položku
user data functions
a potom vyberte dlaždicu.Zadajte Name pre položku údajových funkcií používateľa.
Výberom položky Nová funkcia vytvoríte šablónu funkcie
hello_fabric
jazyka Python. Prieskumník funkcií zobrazuje všetky publikované funkcie, ktoré sú pripravené na vyvolanie.Po publikovaní funkcie
hello_fabric
ju môžete spustiť zo zoznamu funkcií v prieskumníkovi funkcií.
Pridanie novej funkcie zo vzorky
Tu je príklad toho, ako pridať novú funkciu z ponuky Insert sample
. V tomto prípade pridáme funkciu s názvom Manipulácia s údajmi pomocou knižnice pandas, ktorá ako požiadavku používa knižnicu pandas
. Ak chcete pridať túto ukážku funkcie, postupujte podľa krokov:
Vyberte na správu knižníc a pridajte knižnice, ktoré vaša funkcia vyžaduje.
Nota
fabric_user_data_functions
knižnica sa predvolene pridáva a nedá sa odstrániť. Táto knižnica sa vyžaduje pre funkčnosť používateľských údajových funkcií. Je potrebné aktualizovať verziu tejto knižnice pre všetky budúce vydania tejto súpravy SDK.Vyberte knižnicu pandas a vyberte verziu. Po pridaní sa knižnica automaticky uloží do položky Používateľské údajové funkcie.
Vyberte položku Vložiť ukážky a vyberte položky Manipulovať s údajmi s knižnicou pandas. Táto akcia vloží vzorový kód do dolnej časti kódu za ostatné funkcie.
Po vložení ukážky do editora môžete zmeny uložiť výberom položky Publikovať. Publikovanie zmien môže trvať niekoľko minút.
Po dokončení publikovania sa nová funkcia zobrazí v zozname Prieskumník funkcií. Táto funkcia je teraz pripravená na spustenie z portálu alebo vyvolaná z inej aplikácie alebo položky služby Fabric, ako je napríklad kanál údajov.
Spustenie funkcie
Vyberte položku Spustiť, ktorá sa zobrazí po ukázaní myšou na funkciu v zozname Prieskumník funkcií.
Odovzdajte povinné parametre prezentované ako formulár v prieskumníkovi funkcií. V tomto prípade spustíme funkciu
manipulate_data
, ktorá ako parameter vyžaduje reťazec JSON.[ { "Name": "John", "Age": 22, "Gender": "male" } ]
Funkciu spustíte výberom položky Spustiť.
Môžete vidieť dynamické denníky a výstup pre funkciu na overenie úspešného fungovania. Prípadne sa zobrazí chybové hlásenie a denníky z vyvolania funkcie.
Napísanie novej funkcie
Každá spúšťateľná funkcia sa pred definíciou funkcie začína dekorátorom @udf.function()
. Prečítajte si viac o našom modeli programovania v jazyku Python. Ak chcete napísať novú funkciu, deklarujte ju ako spustiteľnú funkciu pomocou dekorátora @udf.function()
na začiatku. Tu je príklad funkcie:
# 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)
Keď je funkcia pripravená, publikujte na jej spustenie funkciu.
Kľúčové koncepty programovacieho modelu
Funkcie používateľských údajov používajú programovací model User Data Functions programu Python na vytváranie, spúšťanie, ladenie a úpravu jednotlivých funkcií. Toto je knižnica prvej strany, ktorá poskytuje potrebné funkcie na vyvolanie vašich funkcií v službe Fabric a využitie všetkých integrácií.
Po vytvorení prvej funkcie budú prvé riadky kódu obsahovať príkazy importu s potrebnými knižnicami na spustenie šablóny.
import datetime
import fabric.functions as fn
import logging
udf = fn.UserDataFunctions()
Nota
Príkaz importu obsahujúci knižnicu fabric.functions
a riadok obsahujúci tento udf = fn.UserDataFunctions()
príkazu sú potrebné na správne spustenie funkcií. Ak tieto riadky chýbajú, funkcie nebudú správne fungovať.
- Ak chcete vytvárať, spúšťať a spravovať funkcie, potrebujete
fabric.functions
SDK a niekoľko ďalších dôležitých knižníc, ako napríkladlogging
umožňuje písať vlastné denníky. -
udf=fn.UserDataFunctions()
je konštrukt na definovanie funkcií v rámci položky údajových funkcií používateľa.
Spravovanie údajových funkcií
Premenovanie funkcie
Vyberte položku do editora kódu a aktualizujte názov funkcie. Premenujte
hello_fabric
napríklad nahello_fabric1
. Príklad:@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()}!"
Po zmene názvu vyberte položku Publikovať a uložte tieto zmeny.
Po publikovaní zmien môžete zobraziť nový názov funkcie v prieskumníkovi funkcií.
Vymazať funkciu
Ak chcete funkciu odstrániť, vyberte v editore kódu položku Kód funkcie a odstráňte celú časť s kódom. Publikujte zmeny, aby ste ju úplne odstránili z položky údajových funkcií používateľa.
Ak chcete napríklad odstrániť funkciu hello_fabric
, odstráňte nasledujúci blok kódu:
@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()}!"
Po odstránení kódu môžete vybrať položky Publikovať a zmeny sa uložia. Po dokončení publikovania sa v prieskumníkovi funkcií zobrazí aktualizovaný zoznam dostupných funkcií.