Compartir a través de


Creación de un elemento de funciones de datos de usuario de Fabric

En esta guía, se creará un nuevo elemento de Funciones de datos de usuario y escribiremos nuevas funciones en ella. Cada elemento de Funciones de datos de usuario contiene código que define una o varias funciones que puede ejecutar individualmente.

Específicamente, aprenderás sobre lo siguiente:

  • Crear un elemento de funciones de datos de usuario.
  • Escriba una nueva función.
  • Administrar funciones.
  • Ejecute la función.

Prerrequisitos

Crear un nuevo elemento de Funciones de datos de usuario de Fabric

  1. Seleccione el área de trabajo y seleccione + Nuevo elemento.
  2. Seleccione Tipo de elemento como Todos los elementos. Busque y seleccione Funciones de datos de usuario.

Crear un elemento de funciones de datos de usuario

  1. En su área de trabajo, seleccione + Nuevo elemento.

  2. En el panel que se abre, busque user data functions y seleccione el icono.

    Captura de pantalla que muestra el icono de funciones de datos de usuario en el panel nuevo elemento.

  3. Proporcione un nombre para el elemento de funciones de datos de usuario.

  4. Seleccione Nueva función para crear una plantilla de función de Python hello_fabric. El Explorador de Functions muestra todas las funciones publicadas y listas para invocarse.

    Captura de pantalla que muestra cómo crear una nueva función mediante una plantilla.

  5. Una vez publicada la función hello_fabric, puede ejecutarla desde la lista de funciones en el Explorador de Functions.

    Captura de pantalla que muestra el código de la función hello-fabric.

Agregar una nueva función desde el ejemplo

Este es un ejemplo de cómo agregar una nueva función desde el menú Insert sample. En este caso, agregaremos una función denominada Manipular datos con la biblioteca de Pandas que usa la biblioteca pandas como requisito. Siga los pasos para agregar esta función de ejemplo:

  1. Asegúrese de que está en modo Desarrollo. Seleccione Administración de bibliotecas para agregar las bibliotecas que requiere la función.

    Captura de pantalla que muestra cómo administrar bibliotecas.

    Nota:

    La biblioteca fabric_user_data_functions se agrega de forma predeterminada y no se puede quitar. Esta biblioteca es necesaria para la funcionalidad de las funciones de datos de usuario. Debe actualizar la versión de esta biblioteca para cualquier versión futura de este SDK.

  2. Seleccione la biblioteca Pandas y seleccione la versión. Una vez agregada la biblioteca, se guarda automáticamente en el elemento Funciones de datos de usuario.

    Captura de pantalla que muestra cómo agregar la biblioteca pandas.

  3. Seleccione Insertar ejemplo y seleccione Manipular datos con la biblioteca Pandas. Esta acción insertará código de ejemplo en la parte inferior del código, después de las otras funciones.

    Captura de pantalla que muestra cómo insertar un ejemplo que usa la biblioteca pandas.

  4. Una vez insertado el ejemplo en el editor, se prueba mediante la funcionalidad Test en el modo Desarrollo.

  5. Cuando esté listo, puede seleccionar Publicar para guardar los cambios y actualizar las funciones. La publicación puede tardar unos minutos.

    Captura de pantalla que muestra el fragmento de código del ejemplo en el editor.

  6. Una vez completada la publicación, verá la nueva función en la lista explorador de Functions. Esta función ya está lista para ejecutarse desde el portal o invocarla desde otra aplicación o elemento de Fabric, como una canalización.

    Captura de pantalla que muestra el fragmento de código del ejemplo en el editor.

Ejecución de la función

  1. Para ejecutar la función, primero debe cambiar al modo Ejecutar solo haciendo clic en el conmutador de modo.

    Captura de pantalla animada que muestra cómo cambiar al modo Ejecutar solo.

  2. Seleccione el icono Ejecutar que aparece al mantener el puntero sobre una función en la lista Explorador de Functions.

    Captura de pantalla que muestra cómo ejecutar las funciones.

  3. Pase los parámetros necesarios en presentados como un formulario en el Explorador de Functions. En este caso, vamos a ejecutar la función manipulate_data que requiere una cadena JSON como parámetro.

    [
     {
      "Name": "John",
      "Age": 22,
      "Gender": "male"
     }
    ]
    
  4. Seleccione Ejecutar para ejecutar la función.

    Captura de pantalla que muestra la salida cuando se ejecuta correctamente una función.

  5. Puede ver los registros en directo y la salida de la función para validar si se ejecutó correctamente. Como alternativa, verá un mensaje de error y registros de la invocación de función.

Escritura de una nueva función

Cada función ejecutable comienza con un decorador @udf.function() antes de la definición de la función. Obtenga más información sobre nuestro modelo de programación de Python. Para escribir una nueva función, use el decorador @udf.function() al principio para declararlo como una función ejecutable. Esta es una función de ejemplo:

# 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)

Una vez que la función esté lista, publique la función para ejecutarla.

Conceptos clave del modelo de programación

Las funciones de datos de usuario usan el modelo de programación de Python de Funciones de datos de usuario para crear, ejecutar, depurar y modificar funciones individuales. Se trata de una biblioteca de primera entidad que proporciona la funcionalidad necesaria para invocar las funciones en Fabric y aprovechar todas las integraciones.

Después de crear la primera función, las primeras líneas del código contendrán las instrucciones import con las bibliotecas necesarias para ejecutar la plantilla.

import datetime
import fabric.functions as fn
import logging

udf = fn.UserDataFunctions()

Nota:

La instrucción import que contiene la biblioteca fabric.functions y la línea que contiene esta instrucción udf = fn.UserDataFunctions() son necesarias para ejecutar correctamente las funciones. Las funciones no funcionarán correctamente si faltan estas líneas.

  • Para crear, ejecutar, administrar funciones, necesita fabric.functions SDK y algunas otras bibliotecas importantes, como logging permite escribir registros personalizados.
  • udf=fn.UserDataFunctions() es la construcción para definir funciones dentro de un elemento de funciones de datos de usuario.

Administración de funciones de datos

Cambiar el nombre de una función

  1. En el modo Desarrollar, seleccione en el editor de código y actualice el nombre de la función. Por ejemplo, cambie el nombre hello_fabric a 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. Después de cambiar el nombre, seleccione Publicar para guardar estos cambios.

  3. Una vez publicados los cambios, puede ver el nuevo nombre de la función en el Explorador de Functions.

Eliminar una función

Para eliminar una función, seleccione código de función en el editor de código y quite toda la sección de código. Publique los cambios para eliminarlos por completo del elemento de funciones de datos de usuario.

Por ejemplo, para eliminar la función hello_fabric, quite el siguiente bloque de código:

@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()}!"

Una vez quitado el código, puede seleccionar Publicar para guardar los cambios. Una vez completada la publicación, verá una lista actualizada de funciones disponibles en el Explorador de Functions.

Pasos siguientes