Archivar informes de Power BI con Power Automate

Un usuario Pregunto ✅

mwegener

Recientemente tuve el requisito de guardar el conjunto de datos mensual de un informe de Power BI. Recordé una publicación de blog de Chris Webb sobre cómo usar Power Automate para acceder a la API de Power BI Rest. La siguiente publicación describe cómo uso esto para crear una copia de seguridad mensual de PBIX.

Registrar una aplicación para las API de Power BI

En el primer paso, tenemos que registrar una nueva aplicación que pueda acceder a las API de Power BI de nuestros inquilinos. No describiré el proceso en detalle. Eche un vistazo al Documentación de Microsoft.

La aplicación se puede registrar en la página
https://dev.powerbi.com/apps

PowerBIAPIs_PowerAutomate_01M_20200705

  • Nombre de la aplicación: Ingrese el nombre de su aplicación aquí
  • Tipo de aplicacion: Aplicación web del lado del servidor (para aplicaciones web o API web)
  • URL de la Pagina Principal: Aquí puede ingresar la URL de su sitio web / inquilino
  • Redireccionar URL: Primero ingrese https://login.live.com/oauth20_desktop.srf, esto luego será reemplazado por una URL de redireccionamiento de Power Automate
  • Acceso a la API: Seleccioné «Seleccionar todo» para poder utilizar todas las funciones de la API en Power Automate. También puede cambiar el acceso más tarde mediante Azure Portal.

Ahora “Registramos” la aplicación y guardamos el “ID de la aplicación” y el “Secreto de la aplicación” en un lugar seguro. Serán necesarios más tarde.

PowerBIAPIs_PowerAutomate_02AM_20200705

Creación de un conector personalizado de Power Automate

Navegar a Automatizar el poder y seleccione «Conectores personalizados» en «Datos» en el panel de navegación de la izquierda. Aquí seleccionamos la opción «Importar una OpenAPI desde URL» del menú «Crear conector personalizado».

PowerBIAPIs_PowerAutomate_03M_20200705

Ingrese un nombre para su conector e importe la definición de OpenAPI. Puede encontrar una definición de OpenAPI para la API REST de Power BI aquí. https://raw.githubusercontent.com/microsoft/PowerBI-CSharp/master/sdk/swaggers/swagger.json

PowerBIAPIs_PowerAutomate_05M_20200705

El siguiente cuadro de diálogo requiere información general sobre el conector.

PowerBIAPIs_PowerAutomate_06M_20200705

Subí un icono para el conector y establezca el color de fondo en: # F2C811

El siguiente cuadro de diálogo es para configurar la seguridad.

PowerBIAPIs_PowerAutomate_07M_20200705

Konstantinos ha determinado los siguientes valores para la autenticación de Azure aquí.

  • Tipo de autenticación: OAuth 2.0
  • Proveedor de identidad: Azure Active Directory
  • Identificación del cliente: Ingrese el «ID de la aplicación» del registro de la aplicación
  • Secreto del cliente: Ingrese el «secreto de la aplicación» del registro de la aplicación
  • URL de inicio de sesión: https://login.windows.net
  • Identificación del inquilino: común
  • URL del recurso: https://analysis.windows.net/powerbi/api
  • Alcance: openid

Después de hacer clic en «Crear conector», se muestra la URL de redireccionamiento. Dependiendo de su ubicación, esta URL puede ser diferente.

PowerBIAPIs_PowerAutomate_08M_20200705

Agregue la URL de redireccionamiento a la aplicación registrada anteriormente. Iniciar sesión en el portal de Azure https://portal.azure.com
“Azure Active Directory” -> “Registros de aplicaciones” -> “Nombre de nuestra aplicación”. En «Autenticación», reemplace «Redirigir URI» con la URL de Power Automate.

PowerBIAPIs_PowerAutomate_09M_20200705

Creación del flujo de Power Automate

Ahora creamos Power Automate Flow. Primero, determinamos el GUID del área de trabajo y el informe de Power BI que se archivará. Después de abrir el informe, los valores se pueden leer en la línea de dirección.

PowerBIAPIs_PowerAutomate_20_20200705

Para la ejecución mensual elegimos un “Flujo programado” en Power Automate.

PowerBIAPIs_PowerAutomate_10_20200705

Asigne un nombre al flujo y configure el cronograma.

PowerBIAPIs_PowerAutomate_11_20200705

En el flujo, el conector personalizado ahora se puede usar con todas las llamadas a la API de Power BI.

PowerBIAPIs_PowerAutomate_12_20200705

Cuando acceda por primera vez, debe iniciar sesión y aceptar los permisos solicitados.

PowerBIAPIs_PowerAutomate_13_20200705

A continuación, puede configurar el siguiente flujo de Power Automate.

PowerBIAPIs_PowerAutomate_14_20200705

Nuevo paso: exportar PBIX

Seleccione la acción Conector personalizado «Exporta el informe especificado del espacio de trabajo especificado a un archivo .pbix». y cámbiele el nombre a «Exportar PBIX».

  • Identificación del grupo: GUID del espacio de trabajo de origen
  • reportId: GUID del informe de origen

Nuevo paso: redactar

Selecciona el «Componer» acción para convertir el cuerpo de exportación en la estructura “multipart / form-data” requerida para la importación.

  • Entradas:
{
  "$content-type": "multipart/form-data",
  "$multipart": [
    {
      "body": @{body('Export_PBIX')}
    }
  ]
}

Nuevo paso: importar PBIX

Seleccione la acción Conector personalizado «Crea contenido nuevo en el espacio de trabajo especificado desde .pbix, .json, Excel, Rdl o ruta de archivo en OneDrive para la Empresa». y cámbiele el nombre a «Importar PBIX».

  • Identificación del grupo: GUID del espacio de trabajo de destino
  • datasetDisplayName: Nombre del archivo PBIX que se creará, utilizo la siguiente expresión para esto.
concat('DIAD ', 
    formatDateTime(utcNow(),'yyyyMMdd') ,
    '.pbix')

  • importInfo: Aquí se inserta la salida del paso de composición anterior.
  • nameConflict: Abortar

Después de la creación, se puede probar Power Automate Flow.

PowerBIAPIs_PowerAutomate_15_20200705

Una mirada al área de trabajo de Power BI muestra que la copia del informe se ha guardado correctamente.

PowerBIAPIs_PowerAutomate_16_20200705

Y una última cosa: Konstantinos & Chris mencionan en sus publicaciones, si recibe un error 404 (o error 403), espere unos minutos.

Enlaces:

  • https: //blog.crossjoin.co.uk/2018/10/19/calling-the-power-bi-rest-api-from-microsoft-flow-part-1-cre …
  • https://medium.com/@Konstantinos_Ioannou/refresh-powerbi-dataset-with-microsoft-flow-73836c727c33
  • https://powerusers.microsoft.com/t5/Building-Flows/HTTP-Post-multipart-form-data/td-p/145181

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *