
Microsoft ha lanzado Power BI Activity Log para satisfacer la demanda de los usuarios de la comunidad en cuanto a la necesidad de administrar la actividad de un tenant de Power BI. Con el lanzamiento de la API de Power BI llamada Power BI Activity Log , se permite a los administradores de servicios de Power BI rastrear las actividades de usuarios y administradores dentro de un tenant de Power BI.
¿Qué se puede hacer con el registro de actividad de Power BI? Para empezar, puedes escribir una aplicación basada en las API REST de Power BI para exportar los eventos de actividad a un almacén de datos como Blob Storage o una base de datos SQL y crear un informe de uso personalizado sobre los datos exportados. En la llamada a la API REST de ActivityEvents, debes especificar una fecha de inicio y una fecha de finalización y, opcionalmente, un filtro para seleccionar actividades por tipo de actividad o ID de usuario.
Dado que puede haber muchos registros de datos, las API ActivityEvents de Power BI solo soporta la descarga de eventos para un solo día en cada llamada. Si queremos exportar más actividad deberemos hacer llamadas sucesivas a la API.
https://api.powerbi.com/v1.0/myorg/admin/activityevents?startDateTime='2019-08-31T00:00:00'&endDateTime='2019-08-31T23:59:59'
Si el número de entradas es grande, la API de ActivityEvents solo devuelve alrededor de 5,000 a 10,000 entradas y un token de continuación. En este caso, se vuelve a llamar a la API ActivityEvents con el token de continuación para obtener el siguiente conjunto de entradas y así, sucesivamente, hasta que haya recuperado todas las entradas y ya no reciba un token de continuación. El siguiente ejemplo muestra cómo usar el token de continuación:
https://api.powerbi.com/v1.0/myorg/admin/activityevents?continuationToken=’%2BRID%3ARthsAIwfWGcVAAAAAAAAAA%3D%3D%23RT%3A4%23TRC%3A20%23FPC%3AARUAAAAAAAAAFwAAAAAAAAA%3D’
Puede ser más fácil descargar la actividad utilizando los cmdlets de Power BI Management para PowerShell, que incluyen un cmdlet Get-PowerBIActivityEvent que maneja el token de continuación automáticamente. El cmdlet Get-PowerBIActivityEvent toma un parámetro StartDateTime y EndDateTime con las mismas restricciones que la API REST de ActivityEvents, lo que significa que la fecha de inicio y la fecha de finalización deben hacer referencia al mismo valor de fecha porque solo puede recuperar los datos de actividad para un día a la vez.
La siguiente captura de pantalla ilustra cómo descargar todas las actividades de Power BI en un tenant de muestra para el 1 de diciembre. Como indican los resultados, el script descargó casi 19,000 entradas, que luego el comando convirtió de JSON a objetos .NET para un acceso directo a las propiedades de las actividades individuales. El script ahora podría procesar cada objeto individualmente en un bucle foreach.
Las mejoras futuras pueden incluir una interfaz de usuario para buscar en el registro de actividad en el Portal de administración de Power BI con la capacidad de descargar los resultados en un archivo .csv, así como capacidades de filtrado adicionales en el API REST de ActivityEvents y el cmdlet Get-PowerBIActivityEvent. Si tienes más dudas o quieres contactar con nuestr@s expert@s, no dudes en ponerte en contacto con nosotr@s en hola@bertia.es o a través de nuestro formulario de contacto.