Del via


Opprette et element for funksjoner for strukturbrukerdata

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

Opprett et nytt fabric user data functions-element

  1. Velg arbeidsområdet, og velg + Nytt element.
  2. Velg Elementtype som Alle elementer. Søk etter og velg Brukerdatafunksjoner.

Opprett et nytt element for brukerdatafunksjoner

  1. Velg + Nytt elementi arbeidsområdet.

  2. Søk etter user data functionsi ruten som åpnes, og velg deretter flisen.

    Skjermbilde som viser flisen for brukerdatafunksjoner i den nye elementruten.

  3. Angi et navn for elementet for brukerdatafunksjoner.

  4. Velg Ny funksjon for å opprette en hello_fabric Python-funksjonsmal. Funksjonsutforskeren viser alle funksjonene som er publisert og klare til å aktiveres.

    Skjermbilde som viser hvordan du oppretter en ny funksjon ved hjelp av en mal.

  5. Når hello_fabric-funksjonen er publisert, kan du kjøre den fra listen over funksjoner i Funksjonsutforsker.

    Skjermbilde som viser koden for hello-fabric-funksjonen.

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:

  1. Sørg for at du er i redigeringsmodus. Velg bibliotekbehandling for å legge til bibliotekene som funksjonen krever.

    Skjermbilde som viser hvordan du administrerer biblioteker.

    Notat

    fabric_user_data_functions biblioteket 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.

  2. Velg pandaer biblioteket, og velg versjonen. Når biblioteket er lagt til, lagres det automatisk i elementet Brukerdatafunksjoner.

    Skjermbilde som viser hvordan du legger til pandabibliotek.

  3. Velg Sett inn eksempel, og velg Manipulere data med pandabibliotek. Denne handlingen setter inn eksempelkode nederst i koden, etter de andre funksjonene.

    Skjermbilde som viser hvordan du setter inn et eksempel som bruker pandabibliotek.

  4. Når eksemplet er satt inn i redigeringsprogrammet, tester du det ved hjelp av Test-funksjonen i redigeringsmodus.

  5. Når du er klar, kan du velge Publiser for å lagre endringene og oppdatere funksjonene. Publiseringen kan ta noen minutter.

    Skjermbilde som viser kodesnutt av eksemplet i redigeringsprogrammet.

  6. 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.

    Skjermbilde som viser kodesnutt av eksemplet i redigeringsprogrammet.

Kjør funksjonen

  1. For å kjøre funksjonen din, må du først bytte til Bare kjør-modus ved å klikke på modusbytteren.

    Animert skjermbilde som viser hvordan du bytter til kun kjøringsmodus.

  2. Velg Kjør-ikonet som vises når du holder pekeren over en funksjon i funksjonsutforskerlisten.

    Skjermbilde som viser hvordan du kjører funksjonene.

  3. 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"
     }
    ]
    
  4. Velg Kjør for å kjøre funksjonen.

    Skjermbilde som viser utdataene når en funksjon kjøres.

  5. 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.functions SDK og få andre viktige biblioteker, for eksempel logging lar deg skrive egendefinerte logger.
  • udf=fn.UserDataFunctions() er konstruksjonen for å definere funksjoner i et brukerdatafunksjonselement.

Behandle datafunksjoner

Gi nytt navn til en funksjon

  1. I redigeringsmodus velger du i koderedigeringsprogrammet og oppdaterer navnet på funksjonen. Gi for eksempel nytt navn hello_fabric til hello_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()}!"
    
  2. Når du har endret navnet, velger du Publiser for å lagre disse endringene.

  3. 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.

Neste trinn