Administrar el historial de ejecución de flujo de nube en Dataverse

Con el historial de ejecución de flujo de nube en Dataverse, puede aplicar la extensibilidad de Dataverse para realizar un seguimiento de los resultados de sus ejecuciones de flujos de nube a escala. Con esta función, puedes usar la potencia de la arquitectura de datos compartidos de Dataverse, incluido el control de acceso basado en roles (RBAC), para administrar los datos de FlowRun. Solo los flujos de solución en la nube, con sus definiciones en Dataverse, pueden tener su historial de ejecución almacenado en Dataverse.

Como parte de esta característica, cada ejecución de flujo de nube tiene una entrada en la tabla FlowRun. Esta característica está usando la base de datos no relacional de Dataverse, las tablas elásticas, para almacenar el historial de ejecución del flujo de la nube.

El historial de ejecución de flujo de nube en Dataverse es utilizado por el centro de automatización para proporcionar experiencias integrales de supervisión y resolución de problemas para los procesos de automatización en Power Automate.

Elementos de ejecución de flujos de nube

La tabla FlowRun contiene elementos clave de una ejecución de flujo en la nube, incluidos los siguientes:

Elemento Descripción
Nombre Clave principal y el ID de la aplicación lógica de la ejecución de flujo.
Hora de inicio Cuándo se desencadenó la ejecución del flujo de nube.
Hora de finalización Cuando finalizó la ejecución en la nube.
Duración de ejecución Tiempo, en segundos, antes de terminar la ejecución del flujo de nube.
Estado Resultado final de la ejecución del flujo (Correcto, Error o Cancelado).
Tipo de desencadenador El tipo de desencadenador de esta ejecución de flujo (Automatizado, Programado o Manual).
Código de error El código de error devuelto desde la ejecución del flujo.
Mensaje de error Mensaje de error detallado, si procede, devuelto por la ejecución del flujo.
Propietario Propietario del flujo.
Nombre de flujo de trabajo Nombre para mostrar del flujo de nube.
ID de flujo de trabajo WorkflowID del flujo de nube específico,
IsPrimary Valor binario para indicar si esta ejecución de flujo tiene algún flujo de nube principal que la desencadena.
Id. de ejecución principal Nombre de la instancia de ejecución del flujo de nube principal, si este registro es para un flujo secundario.
Identificador de partición ID de partición de este usuario en la instancia de la tabla elástica.
Tiempo de vida Momento, en segundos, en que este registro de ejecución se elimina automáticamente.

Puede ver y actualizar los detalles a través de las API Dataverse estándar, el conector de Dataverse o directamente desde la vista Tablas en el Maker Portal.

Dado que esta característica se basa en tablas elásticas, almacenamos los datos del historial de ejecución en la nube en particiones lógicas específicas para optimizar el rendimiento. Los datos del historial de ejecución se dividen según los usuarios, por lo que cada usuario de una organización tiene una partición dedicada.

Los datos de FlowRun utilizan capacidad de almacenamiento de base de datos de Dataverse. El uso del almacenamiento en todos los entornos se puede supervisar en el centro de administración de Power Platform.

Uso de almacenamiento para registros FlowRun

De forma predeterminada, los datos de ejecución de flujo se almacenan durante 28 días (2 419 200 segundos). Si desea modificar la duración durante la cual se pueden almacenar las ejecuciones, puede actualizar el Tiempo de vida (en segundos) para la ejecución del flujo en la tabla Organización en un entorno respaldado con Dataverse. Según la capacidad de almacenamiento de su entorno, puede ajustar la duración del almacenamiento de estos registros de ejecución.

El valor FlowRunTimeToLiveInSeconds en la tabla Organización se puede cambiar en el explorador de tablas de PowerApps o usando la API web de Dataverse.

Activar o reducir el almacenamiento del historial de ejecuciones de un flujo de nube

Si se cambia el valor FlowRunTimeToLiveInSeconds en la tabla Organización, la vida útil de cualquier nuevo registro FlowRun se conserva durante ese lapso de tiempo. Reducir el valor puede reducir el número de registros FlowRun y el almacenamiento utilizado con el tiempo.

Establecer el tiempo de vida de FlowRun en Dataverse

Establecer en cero el valor de FlowRunTimeToLiveInSeconds en la tabla Organization detiene toda incorporación de nuevos registros de FlowRun.

Configurar el tiempo de vida de FlowRun en el centro de administración de Power Platform

El valor de FlowRunTimeToLiveInSeconds en la tabla de organización se puede establecer en la experiencia de los entornos del centro de administración de Power Platform. Para elegir el tiempo de vida de la entidad FlowRun que se utiliza en un entorno:

  1. Inicie sesión en el centro de administración de Power Platform.
  2. Vaya a Entornos.
  3. Para el entorno deseado, abra la página Configuración .
  4. Seleccione Producto>Características.
  5. En Historial de ejecución del flujo en la nube en Dataverse, establezca el valor de retención de tiempo de vida de la entidad FlowRun en 28 días (el valor predeterminado), 14 días, 7 días o Desactivado.

Establezca valores TTL personalizados para almacenar una cantidad más larga o más específica de historial de ejecución de flujo de nube

Si desea un valor específico de tiempo de vida (TTL) que no esté disponible desde el Centro de administración de Power Platform, puede establecer ese valor directamente como valor de FlowRunTimeToLiveInSeconds en la tabla Organización.

Reducir el número de registros de FlowRun de inmediato

Si el entorno se está quedando sin almacenamiento, los clientes pueden optar por limpiar el espacio de la base de datos configurando el valor TTLInSeconds para un conjunto de registros de FlowRun. Luego, los registros se limpian automáticamente y se eliminan permanentemente en uno o dos minutos. Asegúrese de que los registros ya no sean necesarios, porque no se pueden recuperar una vez eliminados.

Cálculos del valor del tiempo de vida (TTL)

Los valores de tiempo de vida (TTL) para Organization.FlowRunTimeToLiveInSeconds y FlowRun.TTLInSeconds se especifican en segundos. La tabla siguiente contiene valores comunes que se pueden utilizar en las tablas Organización y FlowRun.

Días Segundos
1 día 86,400 segundos
3 días 259,200 segundos
7 día 604,800 segundos
14 días 1,209,600 segundos
28 días 2,419,200 segundos
60 días 5,184,000 segundos

Use datos de FlowEvent para obtener visibilidad sobre la integridad de los datos de FlowRun

Los registros de FlowRun pueden estar incompletos por muchos motivos. La tabla FlowEvent se utiliza para indicar que se han omitido ejecuciones y que el conjunto de datos está incompleto. La falta de señales no significa que el conjunto de datos esté completo.

Puede ver los registros FlowEvent en el explorador de tablas de PowerApps o usando la Dataverse Web API.. Todos los registros relevantes tienen un valor FlowEvent.EventType de "FlowRunIngestion" y luego el valor FlowEvent.EventCode explica el evento.

Al eliminar un flujo de nube, los datos flowEvent ya no se emiten para ese flujo. Si más adelante restaura el flujo, los datos de FlowEvent pueden tardar hasta 24 horas después de la recuperación para que aparezcan de nuevo. La ejecución y el historial de ejecución no se ven afectados.

La siguiente tabla contiene una lista de valores de FlowEvent.EventCode que podrían usarse para indicar que los datos de FlowRun no están completos:

EventCode Motivo
isFlowRunIngestionECSDisabled El historial de ejecución del flujo de la nube no se guarda en Dataverse debido a la configuración del servicio, por lo que no se pueden mostrar datos del flujo de la nube. La configuración del servicio ECS se establece automáticamente y no hay forma de que un administrador cambie el comportamiento de ingesta en este estado.
TtlSettingEqual0 La configuración TTL (tiempo de vida) de su entorno actual para ejecuciones de flujo de nube está configurada para no retener datos. Como resultado, es posible que falte parte del historial de ejecución del flujo en la nube. Este estado ocurre cuando Organization.FlowRunTimeToLiveInSeconds está establecido en cero.
IngestionDisabledByOrgSettings El historial de ejecución de flujos de nube no se guarda en Dataverse debido a la configuración del entorno, por lo que es posible que falte parte del historial de ejecución de flujos de nube. Esto ocurre cuando Organization.FlowRunTimeToLiveInSeconds se estableció en cero en el pasado.
Se ha alcanzado la capacidad de almacenamiento de la tabla elástica. Ha alcanzado su límite de capacidad de almacenamiento de Dataverse, lo que causa una pausa en la sincronización de datos de ejecución del flujo en la nube.
Se alcanzó el límite de particiones de la tabla elástica Ha alcanzado su límite de partición de almacenamiento de Dataverse, lo que causa una pausa en la sincronización de datos de ejecución del flujo en la nube.
Pérdida de datos de la tasa de ingesta Puede que falte parte del historial de ejecución de flujos de nube debido al elevado volumen de ejecuciones de este entorno.
FlowRunsEventLoadingFailed No se pueden cargar los eventos para las ejecuciones de flujo de nube en su entorno actual. Como resultado, es posible que algunos datos históricos de ejecución del flujo de nube no estén disponibles.
FlowRunsTTlSettingFailedMessage No se puede recuperar la configuración TTL (tiempo de vida) de su entorno para ejecuciones de flujo en la nube. Como resultado, es posible que algunos datos históricos de ejecución del flujo de nube no estén disponibles.
ElasticTableNoRoleForUser Un usuario que posee uno o más flujos no tiene permisos de lectura para la tabla FlowRun en Dataverse, por lo que parte del historial de ejecución de flujos en la nube no se guarda en Dataverse. El motivo es que el usuario no se puede establecer como propietario.

Limitaciones conocidas

  • Los registros FlowRun se asignan a un propietario específico cuando se escriben en la tabla, por lo que el concepto de registros FlowRun compartidos para flujos compartidos actualmente no está admitido.
  • Los propietarios de flujos necesitan al menos acceso de lectura a la tabla FlowRun para almacenar sus registros de ejecución en Dataverse. El sistema escribe registros FlowRun en la tabla y luego la propiedad se asigna al propietario principal del flujo. Si el propietario principal del flujo no tiene permiso de lectura para la tabla FlowRun, no se almacena el registro de FlowRun y aparece un FlowEvent.EventCode de ElasticTableNoRoleForUser en la tabla FlowEvent. Para solucionar esta situación, asegúrese de que los propietarios del flujo tengan permiso de lectura de la tabla FlowRun.
  • Actualmente, existe un límite de 20 GB por partición en tablas elásticas. Las inserciones adicionales de registros de ejecución, solo para ese usuario específico, fallarían una vez que se alcance el límite.
  • Los registros de FlowRun se pueden limitar y omitir si un usuario tiene muchos flujos con tasas de ejecución altas. Cuando se aplica la limitación de velocidad, se crea una entrada en la tabla FlowEvent para indicar que se omitieron ejecuciones y que el conjunto de datos está incompleto.
  • No se recomienda usar las entidades FlowRun y FlowLog como destinos del desencadenador Cuando se agrega, modifica o elimina una fila . Esta acción provoca un bucle infinito, ya que los registros se crean en estas tablas cada vez que se ejecuta un flujo.

Nota

El flujo de datos subyacente utilizado para impulsar las inserciones de registros de ejecución de flujo de nube no es transaccional y, por lo tanto, no está libre de pérdidas al 100 %. Es posible que se produzcan pequeñas pérdidas de datos en este flujo de datos debido a problemas de servicio temporales que no se repeta. Esos registros que faltan no están representados por FlowEvent. El historial de ejecución de flujos en los detalles del flujo del portal de Power Automate es transaccional y, por tanto, proporciona una vista sin pérdidas de las ejecuciones.

Preguntas frecuentes

¿Por qué todos mis entornos tienen un valor de FlowRunTimeToLiveInSeconds de cero?

Si todos sus entornos tienen un valor FlowRunTimeToLiveInSeconds en la tabla Organización de cero, entonces podría ser una de estas situaciones:

  1. Si los datos FlowRun no están disponibles, es posible que sus entornos no se hayan habilitado automáticamente para la ingesta FlowRun porque no había suficiente capacidad de almacenamiento de base de datos de Dataverse disponible.
  2. Si los datos de FlowRun estaban disponibles anteriormente, entonces un Administrador podría haber desactivado la ingesta de nuevos registros.

¿Escribir el historial de ejecución del flujo en la nube en Dataverse consume la cuota de solicitudes de Power Platform?

La escritura del historial de ejecuciones del flujo de nube en Dataverse como datos de FlowRun no cuenta para los límites de solicitudes de Power Platform. Las API que se ejecutan para leer los datos de FlowRun se contabilizan para los límites de solicitudes de Power Platform.

¿Cómo se comparan estos datos con los datos disponibles en Application Insights?

Los administradores pueden configurar Application Insights para proporcionar datos de supervisión de ejecuciones del flujo de Power Automate. Los datos de Application Insights son:

  • Más completos debido a problemas de canalización de datos al obtener los datos de FlowRun.
  • Más profundos porque tienen información sobre desencadenantes y acciones ejecutadas.
  • Capaces de correlacionarse con datos de Power Apps y Dataverse Application Insights a través de identificadores de correlación.

Centro de automatización