Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
V této příručce vytvoříme novou položku funkce User Data Functions a zapíšeme do ní nové funkce. Každá položka Funkce uživatelských dat obsahuje kód, který definuje jednu nebo mnoho funkcí, které můžete spouštět jednotlivě.
Konkrétně se naučíte:
- Umožňuje vytvořit položku funkcí uživatelských dat.
- Napište novou funkci.
- Správa funkcí
- Spusťte funkci.
Požadavky
- Kapacita Microsoft Fabric v jedné z podporovaných oblastí. Pokud kapacitu Fabric nemáte, můžete bezplatně vytvořit zkušební kapacitu.
- Pracovní prostor Fabric propojený s danou kapacitou
Vytvoření nové položky Funkce uživatelských dat Fabric
- Vyberte pracovní prostor a vyberte + Nová položka.
- Vyberte Typ položky jako Všechny položky. Vyhledejte a vyberte Funkce uživatelských dat.
Vytvoření nové položky funkcí uživatelských dat
V pracovním prostoru vyberte + Nová položka.
V podokně, které se otevře, vyhledejte
user data functionsa vyberte dlaždici.Zadejte název položky funkcí uživatelských dat.
Výběrem Nová funkce vytvořte šablonu funkce Python
hello_fabric. Průzkumník služby Functions zobrazí všechny funkce, které jsou publikované a připravené k vyvolání.hello_fabricJakmile je funkce publikovaná, můžete ji spustit ze seznamu funkcí v Průzkumníku funkcí.
Přidání nové funkce z ukázky
Toto je příklad, jak přidat novou funkci z nabídky Insert sample. V tomto případě přidáme funkci s názvem Manipulace s daty s knihovnou pandas , která knihovnu pandas používá jako požadavek. Podle kroků přidejte tuto ukázkovou funkci:
Ujistěte se, že jste v režimu Vývoje. Vyberte správu knihovny a přidejte knihovny, které vaše funkce vyžaduje.
Poznámka:
fabric_user_data_functionsKnihovna se přidá ve výchozím nastavení a nedá se odebrat. Tato knihovna je nezbytná pro funkčnost funkcí uživatelských dat. Musíte aktualizovat verzi této knihovny pro všechny budoucí verze této sady SDK.Vyberte knihovnu pandas a vyberte verzi. Po přidání knihovny se automaticky uloží do položky Funkce uživatelských dat.
Vyberte Vložit ukázku a vyberte Manipulovat s daty pomocí knihovny pandas. Tato akce vloží vzorový kód na konec vašeho kódu, po ostatních funkcích.
Jakmile se ukázka vloží do editoru, otestujete ji pomocí funkce Testování v režimu vývoje.
Až budete připraveni, můžete výběrem možnosti Publikovat uložit změny a aktualizovat funkce. Publikování může trvat několik minut.
Po dokončení publikování se nová funkce zobrazí v seznamu Průzkumníka funkcí. Tato funkce je teď připravená ke spuštění z portálu nebo k vyvolání z jiné aplikace nebo položky Fabric, jako je kanál.
Spusťte svou funkci
Chcete-li funkci spustit, musíte nejprve přepnout do režimu pouze spuštění kliknutím na přepínač režimu.
Vyberte ikonu Spustit , která se zobrazí, když najedete myší na funkci v seznamu Průzkumníka funkcí.
Předejte požadované parametry uvedené jako formulář v Průzkumníku funkcí. V tomto případě spustíme
manipulate_datafunkci, která jako parametr vyžaduje řetězec JSON.[ { "Name": "John", "Age": 22, "Gender": "male" } ]Vyberte Spustit , aby se funkce spustila.
Můžete zobrazit živé protokoly a výstup funkce, abyste ověřili, jestli se úspěšně spustila. Případně se zobrazí chybová zpráva a protokoly z volání funkce.
Napsání nové funkce
Každá spuštěná funkce začíná dekorátorem @udf.function() před definicí funkce. Přečtěte si další informace o našem programovacím modelu Pythonu. Pokud chcete napsat novou funkci, použijte dekorátor @udf.function() na začátku a deklarujte ji jako spustitelnou funkci. Tady je příklad funkce:
# 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)
Jakmile je funkce připravená, publikujte ji k jejímu spuštění.
Klíčové koncepty programovacího modelu
Funkce uživatelských dat používají programovací model User Data Functions v Pythonu k vytváření, spouštění, ladění a úpravě jednotlivých funkcí. Jedná se o interní knihovnu, která poskytuje potřebné funkce pro vyvolání vašich funkcí ve Fabricu a využití všech integrací.
Po vytvoření první funkce budou první řádky kódu obsahovat příkazy importu s potřebnými knihovnami ke spuštění šablony.
import datetime
import fabric.functions as fn
import logging
udf = fn.UserDataFunctions()
Poznámka:
Příkaz importu obsahující knihovnu fabric.functions a řádek obsahující tento příkaz udf = fn.UserDataFunctions() jsou nezbytné ke správnému spuštění funkcí. Pokud tyto řádky chybí, nebudou vaše funkce fungovat správně .
- K vytváření, spouštění a správě funkcí potřebujete
fabric.functionssadu SDK a několik dalších důležitých knihoven, jako je napříkladlogging, která umožňuje zápis vlastních protokolů. -
udf=fn.UserDataFunctions()je konstruktor definující funkce v položce uživatelských datových funkcí.
Správa datových funkcí
Přejmenování funkce
V režimu Vývoj vyberte v editoru kódu a aktualizujte název funkce. Přejmenujte
hello_fabricnapříklad nahello_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()}!"Po změně názvu uložte tyto změny výběrem možnosti Publikovat .
Po publikování změn můžete zobrazit nový název funkce v Průzkumníku funkcí.
Odstranění funkce
Pokud chcete funkci odstranit, vyberte kód funkce v editoru kódu a odeberte celý oddíl kódu. Publikujte změny, abyste položku funkcí uživatelských dat zcela odstranili.
Pokud chcete například odstranit hello_fabric funkci, odeberte následující 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 odebrání kódu můžete výběrem možnosti Publikovat uložit změny. Po dokončení publikování se v Průzkumníku funkcí zobrazí aktualizovaný seznam dostupných funkcí.