Hace tiempo que Microsoft ya ha dejado bien marcada su librería para crear, consultar, borrar ítems de su ecosistema. El uso de sempy, la librería de python en cuestión, cada vez gana más popularidad en el ecosistema.
Cierto es que cuando fue lanzada solo podíamos usarla dentro de un Fabric notebook. En este artículo vamos a mostrar que ahora podemos utilizarla en cualquier entorno conectada con service principal.
Antes de comenzar, vamos a coordinar conceptos. Aquí en La Data Web nos gustan las definiciones, pero como no es un tema nuevo, te sugiero pasar por esto artículo anterior que da una introducción al tema de semantic links.
¿Por qué es importante loguear con Service Principal?
Cualquier solución de automatización de tareas que querramos ejecutar para que usuarios puedan realizar acciones, para que automaticamente sucedan operación, etc, se recomienda hacerlas mediante cuentas que no dependan exclusivamente de un usuario nominado sino más bien de servicio. Esto es así para garantizar que el código siga funcionando aún si el usuario deja la compañia.
Dos Métodos
Para mostrar este ejemplo vamos a instalar la librería de semantic link con pip en entorno local:
pip install -U semantic-link
Veamos las formas con Jupyter Notebooks. Importamos sempy con Fabric y delimitamos las credenciales para nuestra autenticación
La primera forma es utilizando la misma librería que trae un módulo de autenticación.
La segunda forma es algo más tradicional. Utilizar otro módulo que se utiliza en general para autenticaciones de azure. Hablo de azure identity. Usando esta técnica no necesitamos ejecutar “with” sino más bien incluir un parámetro de credenciales en cada método de función que usemos.
Bajo estas dinámicas podemos ejecutar los métodos del módulo fabric para conocer los detalles de items, crearlos, obtener información, etc. logueando con service principal en cualquier entorno y no necesariamente dentro de fabric notebooks.
Hoy en noviembre 2026 existen algunas limitación para service principal que son los métodos:
- sempy.fabric.list_apps
- sempy.fabric.list_dataflow_storage_accounts
- sempy.fabric.evaluate_measure
- sempy.fabric.read_table(…, mode=’rest’)
- sempy.fabric.execute_tmsl