Gérer l’historique d’exécution de flux de cloud dans Dataverse (version préliminaire)
[Cet article fait partie de la documentation en version préliminaire et peut faire l’objet de modifications.]
Avec l’historique d’exécution de flux de cloud dans Dataverse, vous pouvez appliquer l’extensibilité de Dataverse pour suivre les résultats de vos exécutions de flux de cloud à grande échelle. Avec cette fonctionnalité, vous pouvez utiliser la puissance de l’architecture de données commune de Dataverse, y compris le contrôle d’accès en fonction du rôle (RBAC), pour gérer les données FlowRun. Seuls les flux de cloud de la solution, avec leurs définitions dans Dataverse, peuvent avoir leur historique d’exécution stocké dans Dataverse.
Dans le cadre de cette fonctionnalité, chaque exécution de flux de cloud dispose d’une entrée dans la table FlowRun. Cette fonctionnalité utilise la base de données non relationnelle de Dataverse, les tables élastiques, pour stocker l’historique d’exécution de flux de cloud.
L’historique des exécutions du flux de cloud dans Dataverse est utilisé par le centre d’automatisation pour fournir des expériences complètes de surveillance et de dépannage pour les processus d’automatisation dans Power Automate.
Important
- Cette fonctionnalité est en version préliminaire.
- Les fonctionnalités en version préliminaire ne sont pas destinées à une utilisation en production et peuvent être restreintes. Ces fonctionnalités sont disponibles avant une publication officielle afin que les clients puissent y accéder de façon anticipée et fournir des commentaires.
- Cette fonctionnalité est en cours de déploiement et n’est pas disponible dans votre région de cloud souverain pour le moment.
Éléments d’exécution de flux de cloud
La table FlowRun contient les éléments clés d’une exécution de flux de cloud, notamment les éléments suivants :
Élément | Description |
---|---|
Nom | Clé primaire et ID de l’application logique de l’exécution de flux |
Heure de début | Quand l’exécution du flux de cloud a été déclenchée. |
Heure de fin | Quand l’exécution du flux de cloud s’est terminée. |
Durée d’exécution | Temps, en secondes, pour terminer l’exécution du flux de cloud. |
Statut | Résultat final de l’exécution du flux (Succès, Échec ou Annulé). |
Type de déclencheur | Le type Gâchette de cette exécution de flux (Automatisée, Planifiée ou Manuelle ). |
Code d'erreur | Code d’erreur renvoyé par l’exécution de flux. |
Error message | Message d’erreur détaillé, le cas échéant, renvoyé par l’exécution du flux. |
Owner | Propriétaire du flux. |
Nom du workflow | Nom complet du flux de cloud. |
ID workflow | WorkflowID du flux de cloud spécifique, |
IsPrimary | Valeur binaire pour indiquer si cette exécution de flux est déclenchée par un flux de cloud parent. |
ID exécution parente | Nom de l’instance d’exécution du flux de cloud parent, si cet enregistrement concerne un flux enfant. |
ID de partition | ID de partition de cet utilisateur dans l’instance de la table élastique. |
Durée de vie | Temps en secondes de suppression automatique de cet enregistrement d’exécution. |
Vous pouvez afficher et mettre à jour les détails via les API Dataverse standard, le connecteur Dataverse ou directement à partir de la vue Tables dans Maker Portal.
Étant donné que cette fonctionnalité est basée sur des tables élastiques, nous stockons les données de l’historique d’exécution de flux de cloud dans des partitions logiques spécifiques pour des performances optimisées. Les données de l’historique des exécutions sont partitionnées en fonction des utilisateurs, de sorte que chaque utilisateur d’une organisation dispose d’une partition dédiée.
Les données FlowRun utilisent la capacité de stockage de la base de données Dataverse. L’utilisation du stockage dans les différents environnements peut être surveillée dans le centre d’administration Power Platform.
Utilisation du stockage pour les enregistrements FlowRun
Par défaut, les données d’exécution de flux sont stockées pendant 28 jours (2 419 200 secondes). Si vous souhaitez modifier la durée de stockage des exécutions, vous pouvez mettre à jour la Durée de vie (en secondes) pour l’exécution du flux dans la table Organisation dans un environnement pris en charge par Dataverse. En fonction de la capacité de stockage de votre environnement, vous pouvez ajuster la durée de stockage pour ces enregistrements d’exécution.
La valeur FlowRunTimeToLiveInSeconds de la table Organisation peut être modifiée dans le navigateur de tables PowerApps ou à l’aide de l’API web Dataverse.
Activer ou réduire le stockage de l’historique des exécutions du flux cloud
Si la valeur FlowRunTimeToLiveInSeconds de la table Organisation est modifiée, la durée de vie de tout nouvel enregistrement FlowRun est conservée pour cet intervalle de temps. Diminuer cette valeur peut réduire le nombre d’enregistrements FlowRun et le stockage utilisé au fil du temps.
Définir la durée de vie de FlowRun dans Dataverse
La définition de la valeur FlowRunTimeToLiveInSeconds de la table Organisation sur zéro arrête toute ingestion de nouveaux enregistrements FlowRun.
Définir la durée de vie de FlowRun dans le centre d’administration Power Platform
La valeur FlowRunTimeToLiveInSeconds dans la table Organisation peut être définie dans l’expérience des environnements du centre d’administration Power Platform. Pour choisir la durée de vie de l’entité FlowRun utilisée dans un environnement :
- Connectez-vous au Centre d’administration Power Platform.
- Accéder à Environnements.
- Pour l’environnement souhaité, ouvrez la page Paramètres.
- Sélectionnez Produit>Fonctionnalités.
- Sous Historique des exécutions de flux de cloud dans Dataverse, définissez la valeur de conservation de Durée de vie de l’entité FlowRun sur 28 jours (valeur par défaut), 14 jours, 7 jours ou Désactivé.
Définir des valeurs TTL personnalisées pour stocker une quantité plus longue ou plus spécifique d’historique des exécutions de flux cloud
Si vous souhaitez une valeur de durée de vie (TTL) spécifique qui n’est pas disponible via l’expérience du Power Platform centre d’administration, vous pouvez définir cette valeur directement comme Valeur FlowRunTimeToLiveInSeconds dans la table d’organisation.
Réduire la nombre d’enregistrements FlowRun immédiatement
Si l’environnement manque de stockage, les clients peuvent choisir de nettoyer l’espace de la base de données en définissant la valeur TTLInSeconds pour un ensemble d’enregistrements FlowRun. Les enregistrements sont ensuite automatiquement nettoyés et définitivement supprimés en une minute ou deux. Assurez-vous que les enregistrements ne sont plus nécessaires, car ils ne peuvent pas être récupérés une fois supprimés.
Calculs de la valeur de durée de vie (TTL)
Les valeurs de durée de vie (TTL) pour Organization.FlowRunTimeToLiveInSeconds et FlowRun.TTLInSeconds sont spécifiées en secondes. Le tableau suivant contient des valeurs courantes qui peuvent être utilisées dans les tables Organization et FlowRun.
Jours | Secondes |
---|---|
1 jour | 86,400 secondes |
Plus de 3 jours | 259,200 secondes |
7 jour | 604,800 secondes |
Plus de 14 jours | 1 209 600 secondes |
28 jours | 2 419 200 secondes |
60 jours | 5 184 000 secondes |
Utiliser les données FlowEvent pour obtenir une visibilité sur l’exhaustivité des données FlowRun
Les enregistrements FlowRun peuvent être incomplets pour de nombreuses raisons. La table FlowEvent est utilisée pour fournir des signaux indiquant que les exécutions ont été ignorées et que le jeu de données est incomplet. Le manque de signaux ne signifie pas que le jeu de données est complet.
Vous pouvez afficher les enregistrements FlowEvent dans le navigateur de tables PowerApps ou à l’aide de l’API web Dataverse. Tous les enregistrements pertinents ont une valeur FlowEvent.EventType de « FlowRunIngestion », puis la valeur FlowEvent.EventCode explique l’événement.
Le tableau suivant contient une liste de valeurs FlowEvent.EventCode qui peuvent être utilisées pour signaler que les données FlowRun ne sont pas complètes :
EventCode | Motif |
---|---|
isFlowRunIngestionECSDisabled | L’historique d’exécution de flux de cloud n’est pas enregistré dans Dataverse en raison de la configuration du service ; par conséquent, aucune donnée du flux de cloud ne peut être affichée. La configuration du service ECS est définie automatiquement et il n’existe aucun moyen pour un administrateur de modifier le comportement d’ingestion dans cet état. |
TtlSettingEqual0 | La configuration TTL (durée de vie) de votre environnement actuel pour les exécutions de flux de cloud est définie pour ne pas conserver les données. Par conséquent, une partie de l’historique d’exécution de flux de cloud peut être manquante. Cet état se produit lorsque Organization.FlowRunTimeToLiveInSeconds est défini sur zéro. |
IngestionDisabledByOrgSettings | L’historique d’exécution de flux de cloud n’est pas enregistré dans Dataverse en raison des paramètres de l’environnement ; par conséquent, une partie de l’historique d’exécution de flux de cloud peut être manquante. Cette occurrence se produit lorsque Organization.FlowRunTimeToLiveInSeconds a été défini sur zéro dans le passé. |
ElasticTableStorageCapacityReached | Vous avez atteint votre limite de capacité de stockage Dataverse, ce qui entraîne une pause dans la synchronisation des données d’exécution de flux de cloud. |
ElasticTablePartitionLimitReached | Vous avez atteint votre limite de partition de stockage Dataverse, ce qui entraîne une pause dans la synchronisation des données d’exécution de flux de cloud. |
IngestionRateDataLoss | Une partie de l’historique d’exécution de flux de cloud peut être manquante en raison du volume élevé d’exécutions dans cet environnement lors de la version préliminaire. |
FlowRunsEventLoadingFailed | Impossible de charger les événements pour les exécutions de flux de cloud dans votre environnement actuel. Par conséquent, certaines données historiques de l’exécution de flux de cloud peuvent ne pas être disponibles. |
FlowRunsTTlSettingFailedMessage | Impossible de récupérer le paramètre TTL (durée de vie) de votre environnement pour les exécutions de flux de cloud. Par conséquent, certaines données historiques de l’exécution de flux de cloud peuvent ne pas être disponibles. |
ElasticTableNoRoleForUser | Un utilisateur qui possède un ou plusieurs flux ne dispose pas d’autorisations de lecture sur la table FlowRun dans Dataverse. Par conséquent, une partie de l’historique d’exécution de flux de cloud n’est pas enregistrée dans Dataverse. La raison est que cet utilisateur ne peut pas être défini comme propriétaire. |
Limitations connues
- Les enregistrements FlowRun sont attribués à un propriétaire spécifique lorsqu’ils sont écrits dans la table ; par conséquent, le concept d’enregistrements FlowRun partagés pour les flux partagés n’est pas actuellement pris en charge.
- Les propriétaires de flux ont besoin au moins d’un accès en lecture à la table FlowRun pour stocker leurs enregistrements d’exécution dans Dataverse. Le système écrit les enregistrements FlowRun dans la table, puis la propriété est attribuée au propriétaire principal du flux. Si le propriétaire principal du flux ne dispose pas d’autorisations de lecture sur la table FlowRun, l’enregistrement FlowRun n’est pas stocké et un FlowEvent.EventCode de ElasticTableNoRoleForUser est visible dans la table FlowEvent . Pour résoudre cette situation, assurez-vous que les propriétaires de flux disposent de l’autorisation de lecture de la table FlowRun.
- Actuellement, il existe une limite de 20 Go par partition dans les tables élastiques. Les insertions d’enregistrement d’exécution ultérieures, uniquement pour cet utilisateur spécifique, échouent une fois la limite atteinte.
- Les enregistrements FlowRun peuvent être limités et ignorés si un utilisateur a de nombreux flux avec des taux d’exécution élevés. Lorsque la limitation se produit, une entrée est créée dans la table FlowEvent pour signaler que les exécutions ont été ignorées et que le jeu de données est incomplet.
Note
Le flux de données sous-jacent utilisé pour alimenter les insertions d’enregistrement d’exécution de flux de cloud n’est pas transactionnel et n’est donc pas 100 % sans perte. De petites pertes de données dans ce flux de données peuvent se produire en raison de problèmes de service temporaires et non répétitifs. Ces enregistrements manquants ne sont pas représentés par FlowEvent. L’historique d’exécution de flux dans les détails du flux dans le portail Power Automate est transactionnel et fournit donc une vue sans perte des exécutions.
FAQ
Pourquoi tous mes environnements ont-ils une valeur FlowRunTimeToLiveInSeconds de zéro ?
Si tous vos environnements ont une valeur FlowRunTimeToLiveInSeconds dans la table Organisation de zéro, cela pourrait être dû à l’une des situations suivantes :
- Si les données FlowRun ne sont pas disponibles, vos environnements n’est peut-être pas automatiquement activés pour l’ingestion FlowRun, car la capacité de stockage de la base de données Dataverse disponible n’était pas suffisante.
- Si les données FlowRun étaient précédemment disponibles, un administrateur a peut-être désactivé l’ingestion de nouveaux enregistrements.
Quand est-ce que cette fonctionnalité sera généralement disponible (GA) ?
Actuellement, il n’existe aucun calendrier fixé pour la transition de cette fonctionnalité de version préliminaire publique vers la disponibilité générale (GA). En raison de restrictions d’architecture et de performances nécessitant une limitation, l’historique FlowRun peut présenter des lacunes. Cependant, nous comprenons l’importance de disposer de données complètes sur l’historique des exécutions de flux. Nous évaluons activement des stratégies de synchronisation sans perte qui nous permettront de déplacer cette fonctionnalité vers GA à l’avenir.
Les données FlowRun sont utilisées par le centre d’automatisation (version préliminaire) dans le Power Automate portail Maker. Bien que les données FlowRun puissent présenter certaines lacunes pendant la phase version préliminaire, il est utile de rendre ces données accessibles pour version préliminaire publique, à la fois en tant que fonctionnalité autonome et dans le cadre de centre d’automatisation.
L’écriture de l’historique d’exécution de flux de cloud dans Dataverse utilise-t-elle le quota de requêtes Power Platform ?
L’écriture de l’historique d’exécution de flux de cloud dans Dataverse en tant que données FlowRun n’est pas comptabilisée dans les limites de requêtes Power Platform. Les API exécutées pour lire ces données FlowRun sont comptabilisées dans les limites de requêtes Power Platform.
Comment ces données se comparent-elles aux données disponibles dans Application Insights ?
Les administrateurs peuvent configurer Application Insights pour fournir des données de surveillance à partir des exécutions de flux Power Automate. Les données Application Insights sont :
- Plus complètes en raison des problèmes de pipeline de données pour obtenir les données FlowRun.
- Plus profondes car elles contiennent des informations sur les déclencheurs et les actions exécutées.
- En mesure d’être corrélées avec les données Power Apps et Dataverse Application Insights via les identificateurs de corrélation.