← Todos los posts

Deployment Pipelines (III).

Monitorizar con la API rest de Power BI

Power BI Publicado antes en Medium ↗

El proceso de despliegue de informes y paneles en Power BI puede ser complicado y propenso a errores, lo que puede afectar la calidad y confiabilidad de la información presentados.

La monitorización de las deployment pipelines de Power BI adquiere una importancia crítica en este contexto. Permite supervisar todo el ciclo de vida del despliegue, identificando cuellos de botella y detectando problemas para asegurar una implementación exitosa. En este artículo, exploraremos la importancia de esta monitorización, analizando sus ventajas como la detección temprana de errores, mejora de la calidad de los datos y reducción del tiempo de inactividad.

GIF

Este es el tercero de una serie de artículos sobre las deployment pipelines de Power BI. Como ya sabréis, lo he dividido en cuatro partes que iré compartiendo durante las próximas semanas:

Esta parte puede resultar un poco más tediosa, pero creedme que es súper importante poder monitorizar los despliegues para asegurarnos de que el proceso se realiza correctamente.


¿Qué es una API? ¿Qué puedo hacer con la API Rest de Power BI?

Una API (Application Programming Interface, por sus siglas en inglés) es un conjunto de reglas y protocolos que permite la comunicación entre diferentes aplicaciones de software. Es como un intermediario que permite que dos programas se comuniquen y compartan información de manera estructurada.

La API REST de Power BI es una interfaz de programación de aplicaciones que proporciona acceso a diversas funcionalidades y servicios de Power BI. Con esta API, puedes interactuar con tu entorno de Power BI desde otras aplicaciones o sistemas, permitiéndote realizar una variedad de acciones:

  • Administración del contenido de Power BI
  • Realización de operaciones de administración
  • Inserción de contenido de Power BI

¿Cómo me conecto a la API Rest de Power BI?

A continuación, te presento los pasos generales para conectarte a la API de Power BI:

  1. Regístrate como desarrollador: Para acceder a la API de Power BI, necesitarás registrarte como desarrollador en el portal de Azure (portal.azure.com). Si ya tienes una cuenta de Azure, puedes omitir este paso.
  2. Crea una aplicación: En el portal de Azure, crea una nueva aplicación para obtener las credenciales necesarias para autenticarte con la API de Power BI. Esto implica definir un nombre y una URL de redireccionamiento para tu aplicación.

Registramos nuestra aplicación Registramos nuestra aplicación

3. Configura permisos: Otorga los permisos necesarios a tu aplicación para acceder a los recursos de Power BI. Esto se realiza mediante la asignación de roles y permisos específicos en la configuración de la aplicación en el portal de Azure.

Asignar permisos a nuestra App Asignar permisos a nuestra App

4. Obtén las credenciales de autenticación: Una vez configurada tu aplicación, podrás obtener las credenciales de autenticación, como el Client ID y el Client Secret, que te permitirán autenticarte con la API de Power BI.

Añadir un Client Secret Añadir un Client Secret

5. Autenticación: Utiliza las credenciales obtenidas para realizar la autenticación en la API de Power BI. Puedes optar por diferentes métodos de autenticación, como el flujo de autorización OAuth 2.0, el cual implica solicitar un token de acceso para realizar las llamadas a la API en nombre de tu aplicación.

6. Realiza llamadas a la API: Una vez autenticado, puedes empezar a realizar llamadas a la API de Power BI. Estas llamadas pueden incluir operaciones como la obtención de informes, la creación de datasets, la actualización de paneles, entre otros. Aquí van un par de ejemplos con Postman. Desde el mismo Postman puedes obtener como se contruyen esas llamadas en diferentes lenguajes, lo que te ayudará a extraer esos datos. Ahí te dejo algunos ejemplos

GET Pipelines GET Pipelines

import requests
url = "https://api.powerbi.com/v1.0/myorg/pipelines"
payload = {}
headers = {
  'Authorization': 'Bearer ***'
}
response = requests.request("GET", url, headers=headers, data=payload)
print(response.text)
import requests

pipelineID = ***
url = "https://api.powerbi.com/v1.0/myorg/pipelines/" + pipelineID + "/operations"
payload = {}
headers = {
  'Authorization': 'Bearer ***'
}
response = requests.request("GET", url, headers=headers, data=payload)
print(response.text)

Recuerda que la documentación oficial de la API de Power BI proporciona detalles específicos sobre los endpoints disponibles, los parámetros requeridos y las respuestas esperadas para cada tipo de llamada.

En esta ocasión nos centraremos en la parte relativa a las canalizaciones de implementación y en la información que podemos extraer.

Tened en cuenta que la API también nos permite automatizar procesos e integrarlos con Azure DevOps

Las llamadas a las APIs pueden resultar un poco complejas si no estamos familiarizadas con ellas. Así que por aquí te dejo este artículo de Miguel Escobar en el que comparte un conector personalizado que te hará esta tarea más fácil.

Para poder actualizar los datos que extraigas de tu conector personalizado deberás activar la opción de Allow user’s custom data connector to refresh throught this gateway cluster.

Y ahora visualicemos esos datos

En mi caso solo he sacado datos relacionados con las Pipelines de Power Bi, cuánto tiempo tarda en realizarse la promoción, quién la ejecuta, cuándo la ejecuta, etc. Pero desde la API puedes minar información sobre los gateways, workspaces, paneles y reportes, etc. Un sinfín de posibilidades que te ayudarán a la governanza de tu tenant. Y todo eso lo he visualizado en Power BI.

Conclusiones

El monitoreo de las canalizaciones de implementación de Power BI es interesante ya que te permite:

  1. Detectar problemas: Permite identificar y solucionar rápidamente errores en el proceso.
  2. Mantener la calidad de los datos: Asegura la precisión y actualización adecuada de los datos utilizados en informes y paneles.
  3. Seguridad y cumplimiento normativo: Permite controlar el cumplimiento delos requisitos de seguridad y privacidad.
  4. Mejora continua: Proporciona información valiosa para implementar cambios y mejoras en el proceso de implementación de Power BI.

Referencias

API rest de Power BI para análisis y automatización insertados — Power BI REST API | Microsoft Learn

Automate your deployment pipeline by using APIs and Azure DevOps — Power BI | Microsoft Learn

Power BI REST API Connector — The Power User

Uso de conectores de datos personalizados con la puerta de enlace de datos local — Power BI | Microsoft Learn

¿Te ha servido? Aplaude, sin cuenta. Puedes hacerlo varias veces.

Comentarios