Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Las funciones de usuario para datos de Fabric proporcionan conexiones a los orígenes de datos y elementos de Fabric admitidos mediante la característica Administrar conexiones en el portal de Fabric. Esta característica permite conectarse a los orígenes de datos de Fabric sin tener que crear cadenas de conexión ni administrar credenciales de acceso. En el caso de los elementos de tejido que no son un origen de datos, puede conectarse de forma segura a esos elementos dentro de una función.
En este artículo aprenderá a:
- Cree una nueva conexión para el elemento de funciones de datos de usuario.
- Use la nueva conexión en el código de función.
- Modifique o elimine la conexión de datos.
Elementos admitidos en las funciones de datos de usuario de Fabric
Actualmente, se admiten los siguientes elementos para las funciones de datos de usuario de Fabric:
- Tejido de bases de datos SQL para operaciones de lectura y escritura
- Almacenamientos de tejido para operaciones de lectura y escritura
- Fabric lakehouses para operaciones de lectura y escritura para archivos de Lakehouse y para operaciones de solo lectura para el punto de conexión de SQL.
- Bases de datos en espejo de infraestructura para operaciones de solo lectura
- Biblioteca de variables de Fabric para definir las opciones de configuración como variables. Más información.
Crear una nueva conexión de datos para el elemento de funciones de datos de usuario
Las conexiones de datos que agregue están asociadas al elemento de funciones de datos de usuario y se puede hacer referencia a ellas en el código de cualquiera de las funciones. Para seguir esta guía, necesita un elemento de funciones de datos de usuario de Fabric existente y un origen de datos de Fabric existente.
1. Acceso a la característica Administrar conexiones desde el portal de Functions
En el modo Desarrollo, busque y seleccione Administrar conexiones en la cinta de opciones del editor del portal de Functions.
El panel que se abre contiene las conexiones de datos que ha creado. Seleccione Agregar conexión de datos para crear una nueva conexión.
2. Seleccione la conexión de datos en el catálogo de OneLake
Al seleccionar Agregar conexión de datos, el catálogo de OneLake se abre con una lista de todos los orígenes de datos a los que tiene acceso la cuenta de usuario. La lista se filtra para incluir solo orígenes de datos admitidos, algunos de los cuales podrían estar en otras áreas de trabajo.
Elija el origen de datos y, a continuación, seleccione Conectar.
Nota:
Si no encuentra el origen de datos que busca, asegúrese de que tiene los permisos adecuados para conectarse a él. Como alternativa, asegúrese de que usa un origen de datos compatible, como se muestra al principio de este artículo.
Una vez creada, la nueva conexión al origen de datos seleccionado se muestra en el panel lateral de la pestaña Conexiones. Cuando vea la conexión, anote el campo Alias que se generó para ella. Necesita este alias para hacer referencia a la conexión desde cualquier función del elemento de funciones de datos de usuario.
3. Uso del alias de conexión en el código de función
Una vez que vuelva al editor del portal, debe agregar el alias de la conexión que creó en la pestaña Manage Connections al código. Este alias se crea automáticamente en función del nombre del elemento Fabric al que se conecta.
En este caso, usaremos un ejemplo de código denominado "Leer datos de una tabla en SQL Database". Para encontrar este ejemplo, haga clic en la pestaña Editar y, a continuación, haga clic en el botón "Insertar ejemplo" y vaya a "SQL Database".
Este es el código de ejemplo que se insertó:
@udf.connection(argName="sqlDB",alias="<alias for sql database>")
@udf.function()
def read_from_sql_db(sqlDB: fn.FabricSqlConnection)-> list:
# Replace with the query you want to run
query = "SELECT * FROM (VALUES ('John Smith', 31), ('Kayla Jones', 33)) AS Employee(EmpName, DepID);"
# Establish a connection to the SQL database
connection = sqlDB.connect()
cursor = connection.cursor()
query.capitalize()
# Execute the query
cursor.execute(query)
# Fetch all results
results = []
for row in cursor.fetchall():
results.append(row)
# Close the connection
cursor.close()
connection.close()
return results
Nota:
Aunque este ejemplo se conecta a una instancia de SQL Database, no necesita un esquema ni datos en la base de datos para ejecutarse.
Para usar la conexión de datos que creó, modifique la siguiente línea de este ejemplo: @udf.connection(argName="sqlDB",alias="<alias for sql database>") reemplazando el valor de por alias el que obtuvo en el menú Manage Connections. En el código siguiente se muestra este ejemplo con el valor ContosoSalesDat:
@udf.connection(argName="sqlDB",alias="ContosoSalesDat")
@udf.function()
def read_from_sql_db(sqlDB: fn.FabricSqlConnection)-> list:
[...]
Después de modificar el código, puede probar los cambios mediante la funcionalidad Probar en modo desarrollo. Una vez que esté listo, puede publicar la función mediante el botón Publicar de la barra de herramientas. Esta operación puede tardar unos minutos.
Una vez completada la publicación, puede ejecutar la función si mantiene el puntero sobre su nombre en la lista Explorador de Functions y hace clic en el botón "Ejecutar" en el panel lateral. El panel inferior "Salida" muestra el resultado de ejecutar la función.
Y eso es todo lo que necesita para conectarse a un origen de datos desde las funciones de datos de usuario de Fabric.
Obtención de variables de las bibliotecas de Fabric
Una biblioteca de variables de Fabric en Microsoft Fabric es un repositorio centralizado para administrar variables que se pueden usar en distintos elementos dentro de un área de trabajo. Permite a los desarrolladores personalizar y compartir configuraciones de elementos de forma eficaz. Siga estos pasos para usar bibliotecas de variables en las funciones:
- Agregue una conexión a una biblioteca de variables mediante Administrar conexiones y obtenga el alias del elemento de biblioteca de variables.
- Agregue un decorador de conexión para el elemento de biblioteca de variables. Por ejemplo,
@udf.connection(argName="varLib", alias="<My Variable Library Alias>")y reemplace el alias por la conexión recién agregada para el elemento de la biblioteca de variables. - En la definición de función, incluya un argumento con el tipo
fn.FabricVariablesClient. Este cliente proporciona métodos que necesita para trabajar con el elemento de biblioteca de variables. - Utilice el método
getVariables()para obtener todas las variables de la biblioteca de variables. - Para leer los valores de las variables, use
["variable-name"]o.get("variable-name").
Ejemplo En este ejemplo simulamos un escenario de configuración para una producción y un entorno de desarrollo. Esta función establece una ruta de acceso de almacenamiento en función del entorno seleccionado mediante un valor recuperado de la biblioteca de variables. La biblioteca de variables contiene una variable denominada ENV donde los usuarios pueden establecer un valor de dev o prod.
@udf.connection(argName="varLib", alias="<My Variable Library Alias>")
@udf.function()
def get_storage_path(dataset: str, varLib: fn.FabricVariablesClient) -> str:
"""
Description: Determine storage path for a dataset based on environment configuration from Variable Library.
Args:
dataset_name (str): Name of the dataset to store.
varLib (fn.FabricVariablesClient): Fabric Variable Library connection.
Returns:
str: Full storage path for the dataset.
"""
# Retrieve variables from Variable Library
variables = varLib.getVariables()
# Get environment and base paths
env = variables.get("ENV")
dev_path = variables.get("DEV_FILE_PATH")
prod_path = variables.get("PROD_FILE_PATH")
# Apply environment-specific logic
if env.lower() == "dev":
return f"{dev_path}{dataset}/"
elif env.lower() == "prod":
return f"{prod_path}{dataset}/"
else:
return f"incorrect settings define for ENV variable"